[ 
https://issues.jboss.org/browse/SEAMJMS-16?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12584383#comment-12584383
 ] 

John Ament commented on SEAMJMS-16:
-----------------------------------

Realized last night (with help from Stuart Douglas) that this issue (with TCCL) 
was being cauesd by hornetq sending messages outside of the application.  By 
passing in the context class loader from another bean, we can set the class 
loader within the on message method, then set it back in a finally block.  This 
allows the body of the on message to be executed within the app's class loader, 
fixing any issues with bean resolution.

> Event to JMS to Event mapping behavior
> --------------------------------------
>
>                 Key: SEAMJMS-16
>                 URL: https://issues.jboss.org/browse/SEAMJMS-16
>             Project: Seam JMS
>          Issue Type: Bug
>            Reporter: John Ament
>
> While working on seam jms, I've noted the following behavior.
> java.lang.IllegalStateException: Singleton not set for 
> BaseClassLoader@3479404a{vfs:///apps/jboss/jboss-6.0.0.Final/server/all/conf/jboss-service.xml}
>       at 
> org.jboss.weld.integration.provider.JBossSingletonProvider$EarSingleton.get(JBossSingletonProvider.java:59)
>  [:6.0.0.Final]
>       at org.jboss.weld.Container.instance(Container.java:58) [:6.0.0.Final]
>       at 
> org.jboss.weld.resolution.ResolvableBuilder.checkQualifier(ResolvableBuilder.java:209)
>  [:6.0.0.Final]
>       at 
> org.jboss.weld.resolution.ResolvableBuilder.addQualifier(ResolvableBuilder.java:174)
>  [:6.0.0.Final]
>       at 
> org.jboss.weld.resolution.ResolvableBuilder.addQualifierIfAbsent(ResolvableBuilder.java:184)
>  [:6.0.0.Final]
>       at 
> org.jboss.weld.manager.BeanManagerImpl.resolveObserverMethods(BeanManagerImpl.java:464)
>  [:6.0.0.Final]
>       at 
> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:604) 
> [:6.0.0.Final]
>       at 
> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:598) 
> [:6.0.0.Final]
>       at 
> org.jboss.seam.jms.bridge.IngressMessageListener.onMessage(IngressMessageListener.java:45)
>       at 
> org.hornetq.jms.client.JMSMessageListenerWrapper.onMessage(JMSMessageListenerWrapper.java:91)
>  [:6.0.0.Final]
>       at 
> org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:822)
>  [:6.0.0.Final]
>       at 
> org.hornetq.core.client.impl.ClientConsumerImpl.access$100(ClientConsumerImpl.java:46)
>  [:6.0.0.Final]
>       at 
> org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:940)
>  [:6.0.0.Final]
>       at 
> org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100)
>  [:6.0.0.Final]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>  [:1.6.0_22]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>  [:1.6.0_22]
>       at java.lang.Thread.run(Thread.java:662) [:1.6.0_22]
> This exception occurs when trying to fire an event with the contents of a JMS 
> message.  The message listener in this case is instantiated from the portable 
> extension and receives the bean manager as an argument in the constructor.  I 
> am able to get as far as reading the data from JMS, but when firing the 
> second event the above exception occurs.  I'm not certain that this is a Weld 
> problem, but it seem slike a good place to start based on the packages shown.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues

Reply via email to