> From: Chris Newland [mailto:[EMAIL PROTECTED]] > > Hi All, > > I'm encountering a null pointer exception in the > org.apache.cocoon.components.source.URLSource file when I run a stress test > of my Cocoon 2 system: > > java.lang.NullPointerException > at > org.apache.cocoon.components.source.URLSource.getInfos(URLSource.java:95 ) > at > org.apache.cocoon.components.source.URLSource.getLastModified(URLSource. java > :110) > at org.apache.cocoon.Cocoon.modifiedSince(Cocoon.java:376) > at <snip> > Looking at the code makes me think this might be a threading/synchronization > bug as IMHO 'this.connection' is null and should have thrown the NPE on the > previous line.
It *is* threading bug. URLSource is not intended to be used by multiple threads simultaneously. However, Cocoon.java uses it exactly this way. > I'll do my best to trace the problem's origin but I'm out of the country for > 3 weeks as of tomorrow. The quick (==bad performance) fix will be to surround call with synchronized: public boolean modifiedSince(long date) { synchronized(this.configurationFile) { this.configurationFile.refresh(); return date < this.configurationFile.getLastModified(); } } The better solution is to use ActiveMonitor. There was a discussion about it but I do not remember the results of it. Regards, Vadim --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]