[
http://jira.jboss.com/jira/browse/JBPM-1130?page=comments#action_12419712 ]
Alejandro Guizar commented on JBPM-1130:
----------------------------------------
Process instance job deletion is now performed in a save operation to avoid the problems
related with a synchronization.
Since bulk deletion does not affect in-memory state, a tradeoff is necessary: either
session.delete() is invoked for every job, or bulk deletes are executed even for an
individual job. The former approach works better if jobs are deleted individually more
often than in bulk, and is the current choice.
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: jPDL 3.2.1
Reporter: vijay koripella
Assigned To: Alejandro Guizar
Fix For: jPDL 3.2.4
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