[ 
https://issues.apache.org/jira/browse/JELLY-277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yung-Lin Ho updated JELLY-277:
------------------------------

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


  was:
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 
return 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.



> 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.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to