More on OpenWiki
The 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...
Posted at 22:24 GMT on 25 Jan 2005 | Categories: | (4 comments)


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.
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
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.
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