[
http://jira.jboss.com/jira/browse/JBPM-1130?page=comments#action_12415726 ]
Alejandro Guizar commented on JBPM-1130:
----------------------------------------
Tom, I don't really know how Spring is affecting jBPM in this case. It should behave
just like CMT, but apparently the synchronization that deletes the jobs gets called after
the synchronization that closes the hibernate session. Another possible cause is that an
earlier error caused the session to close. It is hard to tell without the configuration
files and the complete log file.
I'd rather postpone this one to 3.2.4 and gather more information.
complete Task fails with in transaction with Session closed Error.
------------------------------------------------------------------
Key: JBPM-1130
URL:
http://jira.jboss.com/jira/browse/JBPM-1130
Project: JBoss jBPM
Issue Type: Bug
Affects Versions: jBPM jPDL 3.2.1
Reporter: vijay koripella
Assigned To: Alejandro Guizar
Fix For: jBPM jPDL 3.2.3
When ever we complete a task in the jbp process we get the below exception when ever we
are using the transaction supports .
If for the completeTask method we specify the TRANSACTION_NOT_SUPPORTED then this works.
So in summary the jbpm complete Task fails when used with in transaction.
This is the below exception we get.
Please also refere to theese links , they are also the same issue.
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4105609#...
http://www.mail-archive.com/jboss-user@lists.jboss.org/msg106103.html
Exception:
Caused by: org.springframework.transaction.UnexpectedRollbackException: JTA transaction
unexpectedly rolled back (maybe due to a timeout); nested exception is
weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion:
sync=org.jbpm.db.JobSession$DeleteJobsSynchronization@18db529
Session is closed!
at
org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:845)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:662)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:632)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:314)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy110.saveClaimAndCompleteClaimUserTask(Unknown Source)
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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at
com.marsh.itg.ddeepa.services.interception.ExportedServiceWrapperFactoryBean$2$1$1.run(ExportedServiceWrapperFactoryBean.java:83)
at
com.marsh.itg.ddeepa.services.interception.ExportedServiceWrapperFactoryBean$2$1.run(ExportedServiceWrapperFactoryBean.java:104)
at
com.marsh.itg.ddeepa.services.util.common.ThreadLocalVariable.runWith(ThreadLocalVariable.java:43)
at
com.marsh.itg.ddeepa.services.interception.ExportedServiceWrapperFactoryBean$2.invoke(ExportedServiceWrapperFactoryBean.java:75)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy110.saveClaimAndCompleteClaimUserTask(Unknown Source)
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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at
org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:70)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy109.saveClaimAndCompleteClaimUserTask(Unknown Source)
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.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
at
org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:38)
at
org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:76)
at
org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:112)
at
org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:117)
at
org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
at
com.marsh.itg.ddeepa.services.platform.MarshDispatcherServlet.access$0(MarshDispatcherServlet.java:1)
at
com.marsh.itg.ddeepa.services.platform.MarshDispatcherServlet.doService(MarshDispatcherServlet.java:65)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:440)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3370)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2117)
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2023)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
at
org.springframework.remoting.support.RemoteInvocationUtils.fillInClientStackTraceIfPossible(RemoteInvocationUtils.java:47)
at
org.springframework.remoting.support.RemoteInvocationResult.recreate(RemoteInvocationResult.java:105)
at
org.springframework.remoting.support.RemoteInvocationBasedAccessor.recreateRemoteInvocationResult(RemoteInvocationBasedAccessor.java:83)
at
org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:159)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy159.saveClaimAndCompleteClaimUserTask(Unknown Source)
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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at
org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:50)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at
org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy159.saveClaimAndCompleteClaimUserTask(Unknown Source)
at
com.marsh.itg.gws.presentation.order.view.component.OrderPaymentForm.finish(OrderPaymentForm.java:247)
at
com.marsh.itg.gws.presentation.order.view.component.OrderPaymentForm.access$2(OrderPaymentForm.java:180)
at
com.marsh.itg.gws.presentation.order.view.component.OrderPaymentForm$3.perform(OrderPaymentForm.java:141)
at
com.marsh.itg.ddeepa.presentation.framework.components.AbstractActionHandler.execute(AbstractActionHandler.java:31)
at
com.marsh.itg.ddeepa.presentation.framework.components.MButton.onSubmit(MButton.java:50)
at wicket.markup.html.form.Form.delegateSubmit(Form.java:574)
at wicket.markup.html.form.Form.onFormSubmitted(Form.java:313)
... 32 more
Caused by: weblogic.transaction.RollbackException: Unexpected exception in
beforeCompletion: sync=org.jbpm.db.JobSession$DeleteJobsSynchronization@18db529
Session is closed!
at
weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1818)
at
weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:333)
at
weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:281)
at
weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:275)
at
org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:842)
... 121 more
--
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