benpoole.com

“It is a very sad thing that nowadays there is so little useless information.”

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... [smiley BigGrin]

Posted at 22:24 GMT on 25 Jan 2005  |  Categories: See other weblog entries under the 'Notes and Domino' category  |   (4 comments)




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 smiley wink ) 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.
    on 25 Jan 2005 by 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
    on 26 Jan 2005 by 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.
    on 26 Jan 2005 by 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 etc
    on 27 Jan 2005 by Steve Castledine (#)










(HTML OK. Line breaks & links converted, so don’t use anchor refs)