commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Harp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JELLY-277) XMLParser.configure is not threadsafe.
Date Wed, 08 Jun 2011 00:27:59 GMT

    [ https://issues.apache.org/jira/browse/JELLY-277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13045719#comment-13045719
] 

Sean Harp commented on JELLY-277:
---------------------------------

The compileScript method in org/apache/commons/jelly/JellyContext.java needs to be synchronized
as well.  This solved the issue for us.   

Prior to fixing this, I would experience nearly 50% failures with the error above when running
12 jelly scripts simultaneously on an 8-core server. After synchronizing compileScript, repeated
tests with 50 simultaneous jelly scripts were successful.

> XMLParser.configure is not threadsafe.
> --------------------------------------
>
>                 Key: JELLY-277
>                 URL: https://issues.apache.org/jira/browse/JELLY-277
>             Project: Commons Jelly
>          Issue Type: Bug
>          Components: core / taglib.core
>    Affects Versions: 1.0
>         Environment: Linux 64bits, JDK build 1.6.0_01-b06
>            Reporter: Yung-Lin Ho
>
> XMLParser will try to load jelly.properties from disk when it first being used. However,
because XMLParser.configure method is not threadsafe, when I tried to run multiple jelly scripts/instance
at the same time, XMLParser threw out the following error message 
> java.lang.ClassNotFoundException: core
>     at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1166)
>     at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1107)
>     at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:977)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>     at org.apache.commons.jelly.parser.XMLParser.createTag(XMLParser.java:985)
> java.lang.ClassNotFoundException: core
>     at org.apache.commons.jelly.parser.XMLParser.createSAXException(XMLParser.java:1180)
>     at org.apache.commons.jelly.parser.XMLParser.createTag(XMLParser.java:990)
>     at org.apache.commons.jelly.parser.XMLParser.startElement(XMLParser.java:593)
> In order to fix this problem, we have to make ensureConfigured() and configure() synchronized
methods.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message