]
Yong Hao Gao updated JBMESSAGING-1747:
--------------------------------------
Fix Version/s: 1.4.8.SP12
(was: 1.4.8.SP11)
ClassNotFoundException while consuming a message in a JMS Queue
---------------------------------------------------------------
Key: JBMESSAGING-1747
URL:
https://issues.jboss.org/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
Assignee: Yong Hao Gao
Fix For: 1.4.0.SP3.CP15, 1.4.8.SP12
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, please contact your JIRA administrators
For more information on JIRA, see: