4 Replies Latest reply on May 29, 2010 8:19 AM by rafaelliu

    ESBActionHandler issue

    rafaelliu

      I have created a simples process that uses ESBActionHandler: start -> esb -> end. Going to jbpm-console, creating a process and signaling it the process ends, the ESB service is invoked but I get the following warnings:

       

      16:08:47,335 WARN  [Contexts] Exception destroying context 
      java.lang.IllegalStateException: Transaction begin not detected, try installing transaction:ejb-transaction in components.xml
          at org.jboss.seam.transaction.SeSynchronizations.registerSynchronization(SeSynchronizations.java:55)
          at org.jboss.seam.transaction.UTTransaction.registerSynchronization(UTTransaction.java:92)
          at org.jboss.seam.bpm.ManagedJbpmContext.joinTransaction(ManagedJbpmContext.java:97)
          at org.jboss.seam.bpm.ManagedJbpmContext.getJbpmContext(ManagedJbpmContext.java:73)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
          at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
          at org.jboss.seam.Component.callComponentMethod(Component.java:2249)
          at org.jboss.seam.Component.unwrap(Component.java:2275)
          at org.jboss.seam.Component.getInstance(Component.java:2041)
          at org.jboss.seam.Component.getInstance(Component.java:2000)
          at org.jboss.seam.Component.getInstance(Component.java:1994)
          at org.jboss.seam.Component.getInstance(Component.java:1967)
          at org.jboss.seam.Component.getInstance(Component.java:1962)
          at org.jboss.seam.bpm.ManagedJbpmContext.instance(ManagedJbpmContext.java:165)
          at org.jboss.seam.bpm.ProcessInstance.getProcessInstance(ProcessInstance.java:42)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
          at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
          at org.jboss.seam.Component.callComponentMethod(Component.java:2249)
          at org.jboss.seam.Component.unwrap(Component.java:2275)
          at org.jboss.seam.Component.getInstance(Component.java:2041)
          at org.jboss.seam.Component.getInstance(Component.java:2000)
          at org.jboss.seam.Component.getInstance(Component.java:1994)
          at org.jboss.seam.Component.getInstance(Component.java:1967)
          at org.jboss.seam.Component.getInstance(Component.java:1962)
          at org.jboss.seam.bpm.ProcessInstance.instance(ProcessInstance.java:54)
          at org.jboss.seam.bpm.BusinessProcess.hasActiveProcess(BusinessProcess.java:64)
          at org.jboss.seam.contexts.Contexts$1.work(Contexts.java:355)
          at org.jboss.seam.util.Work.workInTransaction(Work.java:61)
          at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:350)
          at org.jboss.seam.contexts.Lifecycle.endCall(Lifecycle.java:101)
          at org.jboss.seam.bpm.SeamUserCodeInterceptor$ContextualCall.run(SeamUserCodeInterceptor.java:44)
          at org.jboss.seam.bpm.SeamUserCodeInterceptor.executeAction(SeamUserCodeInterceptor.java:74)
          at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:277)
          at org.jbpm.graph.def.Node.execute(Node.java:395)
          at org.jbpm.graph.def.Node.enter(Node.java:375)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
          at org.jbpm.graph.def.Node_$$_javassist_127.enter(Node_$$_javassist_127.java)
          at org.jbpm.graph.def.Transition.take(Transition.java:151)
          at org.jbpm.graph.def.Node.leave(Node.java:453)
          at org.jbpm.graph.node.StartState.leave(StartState.java:78)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
          at org.jbpm.graph.def.Node_$$_javassist_127.leave(Node_$$_javassist_127.java)
          at org.jbpm.graph.exe.Token.signal(Token.java:214)
          at org.jbpm.graph.exe.Token.signal(Token.java:143)
          at org.jbpm.jsf.core.action.SignalActionListener.handleAction(SignalActionListener.java:52)
          at org.jbpm.jsf.core.impl.JbpmActionListenerWrapper.processAction(JbpmActionListenerWrapper.java:82)
          at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
          at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:771)
          at javax.faces.component.UICommand.broadcast(UICommand.java:372)
          at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
          at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
          at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
          at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
          at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
          at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
          at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
          at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
          at java.lang.Thread.run(Thread.java:636)
      16:08:47,451 INFO  [MessagePayloadProxy] Null data found in message location(s): [org.jboss.soa.esb.message.defaultEntry]
      16:08:47,452 INFO  [STDOUT] Reached JBoss ESB
      16:08:47,979 WARN  [Contexts] Exception destroying context 
      java.lang.IllegalStateException: Transaction begin not detected, try installing transaction:ejb-transaction in components.xml
          at org.jboss.seam.transaction.SeSynchronizations.registerSynchronization(SeSynchronizations.java:55)
          at org.jboss.seam.transaction.UTTransaction.registerSynchronization(UTTransaction.java:92)
          at org.jboss.seam.bpm.ManagedJbpmContext.joinTransaction(ManagedJbpmContext.java:97)
          at org.jboss.seam.bpm.ManagedJbpmContext.getJbpmContext(ManagedJbpmContext.java:73)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
          at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
          at org.jboss.seam.Component.callComponentMethod(Component.java:2249)
          at org.jboss.seam.Component.unwrap(Component.java:2275)
          at org.jboss.seam.Component.getInstance(Component.java:2041)
          at org.jboss.seam.Component.getInstance(Component.java:2000)
          at org.jboss.seam.Component.getInstance(Component.java:1994)
          at org.jboss.seam.Component.getInstance(Component.java:1967)
          at org.jboss.seam.Component.getInstance(Component.java:1962)
          at org.jboss.seam.bpm.ManagedJbpmContext.instance(ManagedJbpmContext.java:165)
          at org.jboss.seam.bpm.ProcessInstance.getProcessInstance(ProcessInstance.java:42)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
          at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
          at org.jboss.seam.Component.callComponentMethod(Component.java:2249)
          at org.jboss.seam.Component.unwrap(Component.java:2275)
          at org.jboss.seam.Component.getInstance(Component.java:2041)
          at org.jboss.seam.Component.getInstance(Component.java:2000)
          at org.jboss.seam.Component.getInstance(Component.java:1994)
          at org.jboss.seam.Component.getInstance(Component.java:1967)
          at org.jboss.seam.Component.getInstance(Component.java:1962)
          at org.jboss.seam.bpm.ProcessInstance.instance(ProcessInstance.java:54)
          at org.jboss.seam.bpm.BusinessProcess.hasActiveProcess(BusinessProcess.java:64)
          at org.jboss.seam.contexts.Contexts$1.work(Contexts.java:355)
          at org.jboss.seam.util.Work.workInTransaction(Work.java:61)
          at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:350)
          at org.jboss.seam.contexts.Lifecycle.endCall(Lifecycle.java:101)
          at org.jboss.seam.bpm.SeamUserCodeInterceptor$ContextualCall.run(SeamUserCodeInterceptor.java:44)
          at org.jboss.seam.bpm.SeamUserCodeInterceptor.executeAction(SeamUserCodeInterceptor.java:74)
          at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:277)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
          at org.jbpm.graph.def.Node_$$_javassist_127.executeAction(Node_$$_javassist_127.java)
          at org.jbpm.job.ExecuteActionJob.execute(ExecuteActionJob.java:33)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
          at org.jbpm.job.Job_$$_javassist_131.execute(Job_$$_javassist_131.java)
          at org.jboss.soa.esb.services.jbpm.integration.job.ExecuteJobCommand.executeJob(ExecuteJobCommand.java:124)
          at org.jboss.soa.esb.services.jbpm.integration.job.ExecuteJobCommand.execute(ExecuteJobCommand.java:92)
          at org.jboss.soa.esb.services.jbpm.integration.command.AbstractMessageListener.onMessage(AbstractMessageListener.java:66)
          at org.jboss.soa.esb.services.jbpm.integration.command.JobListener.onMessage(JobListener.java:16)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:616)
          at org.jboss.internal.soa.esb.dependencies.JCAInflowAdapter$1.invoke(JCAInflowAdapter.java:276)
          at org.jboss.soa.esb.listeners.jca.EndpointProxy.delivery(EndpointProxy.java:258)
          at org.jboss.soa.esb.listeners.jca.EndpointProxy.invoke(EndpointProxy.java:150)
          at $Proxy302.onMessage(Unknown Source)
          at org.jboss.resource.adapter.jms.inflow.JmsServerSession.onMessage(JmsServerSession.java:179)
          at org.jboss.jms.client.container.ClientConsumer.callOnMessageStatic(ClientConsumer.java:160)
          at org.jboss.jms.client.container.SessionAspect.handleRun(SessionAspect.java:831)
          at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect_z_handleRun_19774746.invoke(SessionAspect_z_handleRun_19774746.java)
          at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
          at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
          at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
          at org.jboss.jms.client.delegate.ClientSessionDelegate$run_N8003352271541955702.invokeNext(ClientSessionDelegate$run_N8003352271541955702.java)
          at org.jboss.jms.client.delegate.ClientSessionDelegate.run(ClientSessionDelegate.java)
          at org.jboss.jms.client.JBossSession.run(JBossSession.java:199)
          at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:236)
          at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)
          at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
          at java.lang.Thread.run(Thread.java:636)

       

      Invoking the ESB service directly works fine. The odd thing is these Seam references in stacktrace.. Any ideas?

       

      Thanks

        • 1. Re: ESBActionHandler issue
          richard.qin

          there are at lease two jbmp-console, one is jsf-console based jsf, the other is gwt-console based seam + gwt. I guess you are using gwt-console, so you will catch the error log that reference seam component.

          • 2. Re: ESBActionHandler issue
            rafaelliu

            Hey Richard,

             

            It's SOA-P's 5.1 jbpm-console.. It's not GWT I guess.

             

            Anyway, are you saying I should catch this error? Like changing the jbpm-console code?

            • 3. Re: ESBActionHandler issue
              richard.qin

              the latest version of SOA-P is 5.0.1, how can you get the SOA-P 5.1 version?

              • 4. Re: ESBActionHandler issue
                rafaelliu

                That's what I meant, SOA-P 5.0.1..

                 

                Further testing shows that it's really a jbpm-console issue. Using ServiceInvoker from a webapp doesn't throw any exception.

                 

                At first I was using Seam + jBPM integration and thought that I was doing something wrong, but then I tried in jbpm-console and saw that it happens there too. So, whatever the fix is, a wiki page would with the details would be more than welcome for Seam developers.

                 

                Created a JIRA:  https://jira.jboss.org/browse/SOA-2101

                 

                Thanks.