ClassNotFoundException in MessageListener
zgood Dec 20, 2011 7:08 AMHello!
My configuration is JBoss AS 7.1 Beta.
I have a ClassNotFoundException in simple MessageListener. Message Listener can not find class which is in the same module with listener.
I wrote a simple example. There is singleton. Singleton creates MessageConsumer and add Message Listener. In Message Listner i try to lookup slsb, which is in same jar with listener. When i send message to queue:
{noformat}14:44:26,015 WARN [org.hornetq.jms.client.JMSMessageListenerWrapper] (Thread-3 (group:HornetQ-client-global-threads-808200396)) Unhandled exception thrown from onMessage: java.lang.RuntimeException: javax.naming.NamingException: Could not load ejb proxy class test.TestLocal [Root exception is java.lang.ClassNotFoundException: test.TestLocal from [Module "org.hornetq:main" from local module loader @5090d8ea (roots: /home/zgood/Apps/servers/jboss-as-7.1.0.Beta1b/modules)]]
at org.jboss.as.naming.InitialContext.lookup(InitialContext.java:75)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:213)
at javax.naming.InitialContext.lookup(InitialContext.java:409) [:1.6.0_22]
at test.Listener.lookupTest(Listener.java:44)
at test.Listener.onMessage(Listener.java:24)
at org.hornetq.jms.client.JMSMessageListenerWrapper.onMessage(JMSMessageListenerWrapper.java:91) [hornetq-jms-2.2.7.Final.jar:]
at org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:866) [hornetq-core-2.2.7.Final.jar:]
at org.hornetq.core.client.impl.ClientConsumerImpl.access$100(ClientConsumerImpl.java:44) [hornetq-core-2.2.7.Final.jar:]
at org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:983) [hornetq-core-2.2.7.Final.jar:]
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [hornetq-core-2.2.7.Final.jar:]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [:1.6.0_22]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [:1.6.0_22]
at java.lang.Thread.run(Thread.java:679) [:1.6.0_22]
Caused by: javax.naming.NamingException: Could not load ejb proxy class test.TestLocal [Root exception is java.lang.ClassNotFoundException: test.TestLocal from [Module "org.hornetq:main" from local module loader @5090d8ea (roots: /home/zgood/Apps/servers/jboss-as-7.1.0.Beta1b/modules)]]
at org.jboss.ejb.client.naming.ejb.EjbNamingContext.createEjbProxy(EjbNamingContext.java:108)
at org.jboss.ejb.client.naming.ejb.EjbNamingContext.lookup(EjbNamingContext.java:96)
at org.jboss.ejb.client.naming.ejb.EjbNamingContext.lookup(EjbNamingContext.java:76)
at org.jboss.as.naming.InitialContext.lookup(InitialContext.java:73)
... 12 more
Caused by: java.lang.ClassNotFoundException: test.TestLocal from [Module "org.hornetq:main" from local module loader @5090d8ea (roots: /home/zgood/Apps/servers/jboss-as-7.1.0.Beta1b/modules)]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:485)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:444)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:421)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:143)
at java.lang.Class.forName0(Native Method) [:1.6.0_22]
at java.lang.Class.forName(Class.java:264) [:1.6.0_22]
at org.jboss.ejb.client.naming.ejb.EjbNamingContext.createEjbProxy(EjbNamingContext.java:106)
... 15 more{noformat}
In jboss 6 example works. How can i fix this?