[
https://issues.apache.org/jira/browse/TOMEE-2238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16620094#comment-16620094
]
Romain Manni-Bucau commented on TOMEE-2238:
-------------------------------------------
Yes, this is point 4.4 of the spec.
> JMSContext Injected by TomEE [may] incorrectly assumes an active RequestScope
> or TXScope exists
> -----------------------------------------------------------------------------------------------
>
> Key: TOMEE-2238
> URL: https://issues.apache.org/jira/browse/TOMEE-2238
> Project: TomEE
> Issue Type: Bug
> Reporter: Jonathan S Fisher
> Priority: Major
>
> I'll try to post some code later, but we ran into this bug today.
> We have an Instance<MyTask>, which is submitting MyTask to a
> ManagedExecutorService. The MyTask gets a JMXContext injected into it. So
> basically neither a RequestScope or TXScope exist.
> I'm not sure what the correct behavior should be according to the JMS2 spec,
> but if there's a problem, it's probably because we're limited to thse two
> choices:
> {code}
> private synchronized JMSContext context() {
> if (inTx()) {
> return findOrCreateContext(transactionStorage);
> }
> return findOrCreateContext(requestStorage);
> }
> {code}
> {code}
> javax.enterprise.context.ContextNotActiveException: WebBeans context with
> scope type annotation @RequestScoped does not exist within current thread
> at
> org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:335)
> at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:89)
> at
> org.apache.webbeans.intercept.RequestScopedBeanInterceptorHandler.getContextualInstance(RequestScopedBeanInterceptorHandler.java:76)
> at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.get(NormalScopedBeanInterceptorHandler.java:71)
> at
> org.apache.openejb.resource.activemq.jms2.cdi.JMS2CDIExtension$RequestAutoContextDestruction$$OwbNormalScopeProxy0.find(org/apache/openejb/resource/activemq/jms2/cdi/JMS2CDIExtensio
> n$RequestAutoContextDestruction.java)
> at
> org.apache.openejb.resource.activemq.jms2.cdi.JMS2CDIExtension$InternalJMSContext.findOrCreateContext(JMS2CDIExtension.java:270)
> at
> org.apache.openejb.resource.activemq.jms2.cdi.JMS2CDIExtension$InternalJMSContext.context(JMS2CDIExtension.java:266)
> at
> org.apache.openejb.resource.activemq.jms2.cdi.JMS2CDIExtension$InternalJMSContext.createTopic(JMS2CDIExtension.java:425)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)