[jboss-jira] [JBoss JIRA] Created: (JBMESSAGING-1747) ClassNotFoundException while consuming a message in a JMS Queue

Stephan Lagraulet (JIRA) jira-events at lists.jboss.org
Tue Oct 20 17:13:05 EDT 2009


ClassNotFoundException while consuming a message in a JMS Queue
---------------------------------------------------------------

                 Key: JBMESSAGING-1747
                 URL: https://jira.jboss.org/jira/browse/JBMESSAGING-1747
             Project: JBoss Messaging
          Issue Type: Bug
          Components: JMS Destination Manager
    Affects Versions: 1.4.1.GA
         Environment: Jboss version : 5.0.1 GA
            Reporter: Stephan Lagraulet


We have several JMS queues setup on our jboss server.
We are using spring to handle the messages.

When several clients simultaneously post some messages in different queues, the consumer doesn't find the class for the task, ending with this stack trace:

2009-07-28 17:10:21,089  WARN [SimpleMessageListenerContainer] [] - Execution of JMS message listener failed
java.lang.RuntimeException: fr.billetel.interfaces.ws.allotement.business.etatventes.request.CodificationsTaskRequest
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:279)
        at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1102)
        at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:772)
        at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:415)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

We debugged the class org.jboss.messaging.util.OrderedExecutorFactory, and it appears that the class doesn't have the right classloader as it reuses a thread previously setup with an other classloader (the application is packaged in different ears while the queues are defined in deploy), ending in this exception.

For the moment, we patched the code so that the classloader is reloaded for every call, but it does not seem like a good solution on a long term.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list