You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Jonathan S Fisher (JIRA)" <ji...@apache.org> on 2018/09/18 20:16:00 UTC

[jira] [Created] (TOMEE-2238) JMSContext Injected by TomEE [may] incorrectly assumes an active RequestScope or TXScope exists

Jonathan S Fisher created TOMEE-2238:
----------------------------------------

             Summary: 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


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)