3 Replies Latest reply on Jan 21, 2008 8:01 AM by kukeltje

    help major problem

    twiceknightly

      Hi,

      I have a major problem that I am finding hard to debug. I am using version 3.2.2 of jbpm on weblogic 9.2. I have an stateless session bean that is using container managed persistence. The problem I am seeing is that when I make the transition to an end state in the graph it is falling over. Transition to any other state is ok. The stack trace I get is given below. Essentally it's saying

      Caused by: org.hibernate.SessionException: Session is closed!

      I have remote debugged right through my own code and the jbpm code. It's only once all the code has executed and the enterprise bean tries to commit the transaction that it happens. What baffles me is why it is only the case for the end states. Apologies that I haven't provided much info but it's difficult to know what would be relevant. I'm totally lost. I'm hoping someone will have a few hypthesis that I can test out. By the way I had my code working on an earlier version of jbpm!

      cheers

      Richard.

      [java] javax.transaction.TransactionRolledbackException: BEA1-0002EB2EDFA4625ED8C8: org.hibernate.SessionException: Session is closed!

      [java] at org.hibernate.impl.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:49)

      [java] at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1258)

      [java] at org.jbpm.db.JobSession$DeleteJobsSynchronization.beforeCompletion(JobSession.java:190)

      [java] at weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCInfo.java:1150)

      [java] at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1128)

      [java] at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)

      [java] at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1288)

      [java] at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2098)

      [java] at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:259)

      [java] at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)

      [java] at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:539)

      [java] at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)

      [java] at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:374)

      [java] at com.nr.tms.workflow.interaction.ejb.TMSWorkflowService_7jxszs_EOImpl.saveAndCloseTask(TMSWorkflowService_7jxszs_EOImpl.java:358)

      [java] at com.nr.tms.workflow.interaction.ejb.TMSWorkflowService_7jxszs_EOImpl_WLSkel.invoke(ILweblogic.rmi.spi.InboundRequest;Lweblogic.rmi.spi.OutboundResponse;Ljava.lang.Object;)Lweblogic.rmi.spi.OutboundResponse;(Unknown Source)

      [java] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517)

      [java] at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)

      [java] at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407)

      [java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

      [java] at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)

      [java] at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403)

      [java] at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56)

      [java] at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934)

      [java] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

      [java] at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

      [java] ; nested exception is:

      [java] org.hibernate.SessionException: Session is closed!

      [java] at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:195)

      [java] at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)

      [java] at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)

      [java] at com.nr.tms.workflow.interaction.ejb.TMSWorkflowService_7jxszs_EOImpl_920_WLStub.saveAndCloseTask(JLjava.lang.String;Ljava.util.List;)V(Unknown Source)

      [java] at com.nr.tms.client.TestHarness.main(TestHarness.java:47)

      [java] Caused by: org.hibernate.SessionException: Session is closed!

      [java] at org.hibernate.impl.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:49)

      [java] at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1258)

      [java] at org.jbpm.db.JobSession$DeleteJobsSynchronization.beforeCompletion(JobSession.java:190)

      [java] at weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCInfo.java:1150)

      [java] at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1128)

      [java] at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)

      [java] at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1288)

      [java] at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2098)

      [java] at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:259)

      [java] at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)

      [java] at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:539)

      [java] at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)

      [java] at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:374)

      [java] at com.nr.tms.workflow.interaction.ejb.TMSWorkflowService_7jxszs_EOImpl.saveAndCloseTask(TMSWorkflowService_7jxszs_EOImpl.java:358)

      [java] at com.nr.tms.workflow.interaction.ejb.TMSWorkflowService_7jxszs_EOImpl_WLSkel.invoke(Unknown Source)

      [java] at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517)

      [java] at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)

      [java] at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407)

      [java] at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

      [java] at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)

      [java] at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403)

      [java] at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56)

      [java] at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934)

      [java] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

      [java] at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

        • 1. Re: help not so major problem
          kukeltje

          Could be that jBPM is unaware of the container managed transaction. Try make jBPM use that. Search the forum and look at the wiki to find more info on this.

          btw... everyone's problem is major... try choosing a better subject

          • 2. Re: help major problem
            twiceknightly

            Apologies for the naff title. Just an air of desperation after playing around with things for days without any luck.

            I believe the commiting of the transaction in working in circumstances other that a transition to the end state. The process variables are getting persisted to the db as I traverse the graph.

            • 3. Re: help major problem
              kukeltje

              for those interested... this 'not able to transition to the end state' is continued here