[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-456) Interceptor tries to access UserTransaction interface, but this is not allowed for CMT

Guy Veraghtert (JIRA) jira-events at jboss.com
Mon Nov 13 07:22:41 EST 2006


    [ http://jira.jboss.com/jira/browse/JBSEAM-456?page=comments#action_12346769 ] 
            
Guy Veraghtert commented on JBSEAM-456:
---------------------------------------

Stacktrace:

[#|2006-11-13T11:46:59.204+0100|INFO|sun-appserver-pe9.1|javax.enterprise.system.container.ejb|_ThreadID=15;_ThreadName=httpWorkerThread-8080-1;|
javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean; nested exception is: java.lang.IllegalStateException: Operation not allowed.
java.lang.IllegalStateException: Operation not allowed.
	at com.sun.enterprise.distributedtx.UserTransactionImpl.checkUserTransactionMethodAccess(UserTransactionImpl.java:112)
	at com.sun.enterprise.distributedtx.UserTransactionImpl.getStatus(UserTransactionImpl.java:247)
	at org.jboss.seam.util.Transactions.isTransactionActive(Transactions.java:33)
	at org.jboss.seam.core.ManagedPersistenceContext.getEntityManager(ManagedPersistenceContext.java:97)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:102)
	at org.jboss.seam.Component.callComponentMethod(Component.java:1738)
	at org.jboss.seam.Component.unwrap(Component.java:1764)
	at org.jboss.seam.Component.getInstance(Component.java:1597)
	at org.jboss.seam.Component.getInstance(Component.java:1557)
	at org.jboss.seam.Component.getInstance(Component.java:1551)
	at org.jboss.seam.interceptors.ManagedEntityIdentityInterceptor.entityRefsToIds(ManagedEntityIdentityInterceptor.java:114)
	at org.jboss.seam.interceptors.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:83)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
	at org.jboss.seam.interceptors.OutcomeInterceptor.interceptOutcome(OutcomeInterceptor.java:23)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
	at org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:55)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
	at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
	at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
	at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
	at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:46)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:505)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:415)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:189)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3862)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:184)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:118)
	at $Proxy140.executeQuery(Unknown Source)
	at be.aca.mytrack.service.SkillGroupFinder$$FastClassByCGLIB$$6de278f6.invoke(<generated>)
	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
	at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
	at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:68)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
	at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:39)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
	at org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
	at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
	at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
	at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
	at org.jboss.seam.intercept.ClientSideInterceptor.interceptInvocation(ClientSideInterceptor.java:77)
	at org.jboss.seam.intercept.ClientSideInterceptor.intercept(ClientSideInterceptor.java:47)
	at be.aca.mytrack.service.SkillGroupFinder$$EnhancerByCGLIB$$106333c2.executeQuery(<generated>)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:102)
	at org.jboss.seam.Component.callComponentMethod(Component.java:1738)
	at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1630)
	at org.jboss.seam.Component.getInstance(Component.java:1573)
	at org.jboss.seam.Component.getInstance(Component.java:1557)
	at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:45)
	at com.sun.faces.el.VariableResolverChainWrapper.getValue(VariableResolverChainWrapper.java:93)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:62)
	at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:68)
	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
	at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
	at javax.faces.component.UIData.getValue(UIData.java:582)
	at javax.faces.component.UIData.getDataModel(UIData.java:1061)
	at javax.faces.component.UIData.setRowIndex(UIData.java:417)
	at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85)
	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:810)
	at javax.faces.component.UIData.encodeBegin(UIData.java:878)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:881)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:828)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:883)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:578)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:133)
	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:244)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
	at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:216)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:184)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:246)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
	at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:586)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:556)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:618)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.processNonBlocked(DefaultProcessorTask.java:549)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:789)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:328)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:251)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:205)
	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
	at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:103)

> Interceptor tries to access UserTransaction interface, but this is not allowed for CMT
> --------------------------------------------------------------------------------------
>
>                 Key: JBSEAM-456
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-456
>             Project: JBoss Seam
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.1.0.BETA1
>         Environment: Glassfish
>            Reporter: Guy Veraghtert
>         Assigned To: Gavin King
>            Priority: Critical
>             Fix For: 1.1.0.BETA2
>
>
> In method getEntityManager() in class ManagedPersistenceContext a call is made to the UserTransaction interface: getStatus(). According to the EJB 3.0 specification (p.81) this is not allowed for CMT. Seam requires the usage of CMT.
> (Occurs when adding @In to an entityManager-field, according to seam doc 11.4).
> Patched locally in class ManagedPersistenceContext :
>    @Unwrap
>    public EntityManager getEntityManager() throws NamingException, SystemException
>    {
>       if ( !Lifecycle.isDestroying() /*&& Transactions.isTransactionActive()*/ )
>       {
>          try
>          {
>             entityManager.joinTransaction();
>          } catch (TransactionRequiredException e) {
>             
>          }
>       }
>       return entityManager;
>    }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list