PreviousNext…

More on OpenWiki

Lotus Notes menu on the MacThe Lotusphere wiki is running OpenWiki v0.9.5b, which has as much object recycling as I can fit in. It is still failing, and I’m rapidly losing the will to continue working with LS2J.

It sucks.

On that downbeat note I shall turn back to the day job (yes, I know it’s gone ten at night) and work on the latest Domino-based CMS / community website I need to get out of the door.

I’m hoping that this project will be my last Domino website, at least for some time. Coding web-based applications in R5 is bad enough, but doing apps that are not a good fit for Domino, within a heavily controlled environment like ours, is frankly soul-destroying.

And it doesn’t matter how many custom Lotusscript classes I dress it up in…

Comments

  1. OK, so time to investigate. I switched on verbose JVM logging (JavaVerbose=1 in your notes.ini file in case you were wondering ;-) ) and this is what happens when you load up a wiki page… It's amazing it loads at all really! (Prepare yourself…)


    25/01/2005 22:48:38 HTTP JVM: [Preparing OROWrapper]
    25/01/2005 22:48:38 HTTP JVM: [Initializing OROWrapper]
    25/01/2005 22:48:38 HTTP JVM: [Running static initializer for OROWrapper]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.Perl5Compiler]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Perl5Compiler]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/PatternCompiler]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.Pattern]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Pattern]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Perl5Compiler]
    25/01/2005 22:48:38 HTTP JVM: [Initializing org/apache/oro/text/regex/Perl5Compiler]
    25/01/2005 22:48:38 HTTP JVM: [Running static initializer for org/apache/oro/text/regex/Perl5Compiler]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.Perl5Matcher]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Perl5Matcher]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/PatternMatcher]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.MatchResult]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/MatchResult]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Perl5Matcher]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.Perl5Substitution]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Perl5Substitution]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.StringSubstitution]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/StringSubstitution]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Substitution]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/StringSubstitution]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Perl5Substitution]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.CharStringPointer]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/CharStringPointer]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/CharStringPointer]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.OpCode]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/OpCode]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/OpCode]
    25/01/2005 22:48:38 HTTP JVM: [Initializing org/apache/oro/text/regex/OpCode]
    25/01/2005 22:48:38 HTTP JVM: [Running static initializer for org/apache/oro/text/regex/OpCode]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.Perl5Pattern]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Perl5Pattern]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Pattern]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Perl5Pattern]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.PatternMatcherInput]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/PatternMatcherInput]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/PatternMatcherInput]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.Perl5Repetition]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Perl5Repetition]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Perl5Repetition]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.Perl5MatchResult]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Perl5MatchResult]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/MatchResult]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Perl5MatchResult]
    25/01/2005 22:48:38 HTTP JVM: [Loaded org.apache.oro.text.regex.Util]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Util]
    25/01/2005 22:48:38 HTTP JVM: [Preparing org/apache/oro/text/regex/Util]
    25/01/2005 22:48:38 HTTP JVM: [Loaded lotus.domino.JavaConnectInvoker]
    25/01/2005 22:48:38 HTTP JVM: [Loading superclasses of lotus/domino/JavaConnectInvoker]
    25/01/2005 22:48:38 HTTP JVM: [Preparing lotus/domino/JavaConnectInvoker]
    25/01/2005 22:48:39 HTTP JVM: [Signaling in VM: java/lang/NoClassDefFoundError, message: OROWrapper]
    25/01/2005 22:48:39 HTTP JVM: [Loaded OROWrapper]
    25/01/2005 22:48:39 HTTP JVM: [Loading superclasses of OROWrapper]
    25/01/2005 22:48:39 HTTP JVM: [Loaded org.apache.oro.text.regex.PatternCompiler]
    25/01/2005 22:48:39 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/PatternCompiler]
    25/01/2005 22:48:39 HTTP JVM: [Loaded org.apache.oro.text.regex.PatternMatcher]
    25/01/2005 22:48:39 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/PatternMatcher]
    25/01/2005 22:48:39 HTTP JVM: [Loaded org.apache.oro.text.regex.MalformedPatternException]
    25/01/2005 22:48:39 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/MalformedPatternException]
    25/01/2005 22:48:39 HTTP JVM: [Loaded org.apache.oro.text.regex.Substitution]
    25/01/2005 22:48:39 HTTP JVM: [Loading superclasses of org/apache/oro/text/regex/Substitution]


    Good grief.Ben Poole#
  2. Ben -

    I think I remember hearing that if a package is in the Notes Java classpath (using whatever the hell that INI classpath variable is), it gets loaded once when the server starts up, and stays resident in memory the whole time. When you're calling it as an attachment to a script library every single time, it has to load itself up every time, and get unloaded when it's done. See if you can get the ORO stuff moved over to the classpath and remove it from the script library… it might help.

    Also, I've heard from several people around here that Domino 6.5.3 has weird performance problems (leaks?) with WebQueryOpen agents. I know you don't have any control over it, but is the wiki server on 6.5.3? I've been told that downgrading to 6.5.2 fixes things.

    - Julian
    Julian Robichaux#
  3. Two very good points Julian. On (1) I’m almost 100% certain you’re right, ’cause that rings bells for me too. Certainly the JVM logging seems to bear out the loading / unloading. Whether I can change that for the LS wiki is an issue though — I use a shared server.

    As for (2), 6.5.3, it wouldn’t surprise me. I’ve found a surprising few “nasties” in this version of the client for example, that don’t exist in 6.5.2. I hope 6.5.4 is a more resilient release.Ben Poole#
  4. Got to say I feel for you Ben - firstly I've said it before - but I will say it again - LS2j has always seemed a waste of (my/our) time as it just doesn't stand up (in my experience).

    But Java in general - we have been able to use it for years now with Domino - but theres so still so many gotchas and you have to constantly worry about memory leaks etc etc - in fact every project you seem to spend more time worrying about how domino will react than the actual developing code to develop the solution!

    Personally I always say that unless you want to learn java or you need to use some pre-created classes - then use Lotusscript!! - unless of course you use java outside of domino - ie servlets etcSteve Castledine#

Comments on this post are now closed.

About

I’m a software architect / developer / general IT wrangler specialising in web, mobile web and middleware using things like node.js, Java, C#, PHP, HTML5 and more.

Best described as a simpleton, but kindly. You can read more here.

";