[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-2251) cannot register transaction synchronization at processInstance.end
Peter Brewer (JIRA)
jira-events at lists.jboss.org
Thu Nov 15 05:34:33 EST 2007
[ http://jira.jboss.com/jira/browse/JBSEAM-2251?page=comments#action_12387682 ]
Peter Brewer commented on JBSEAM-2251:
--------------------------------------
Also, the suggested work-around is not suitable if you use jBpm timers (since the scheduler service is required for creating the jBpm timers).
> cannot register transaction synchronization at processInstance.end
> ------------------------------------------------------------------
>
> Key: JBSEAM-2251
> URL: http://jira.jboss.com/jira/browse/JBSEAM-2251
> Project: JBoss Seam
> Issue Type: Bug
> Components: BPM
> Affects Versions: 2.0.0.GA
> Environment: Tomcat 6 with Jboss Embedded
> Reporter: Jamie Cruise
>
> If I have the JBPM scheduler service registered in jbpm.cfg.xml, I get the following error whenever I complete any process:
> org.jbpm.JbpmException: couldn't delete jobs for 'org.jbpm.graph.exe.ProcessInstance at 1a282af'
> at org.jbpm.db.JobSession.deleteJobsForProcessInstance(JobSession.java:211)
> at org.jbpm.scheduler.db.DbSchedulerService.deleteTimersByProcessInstance(DbSchedulerService.java:54)
> at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:329)
> at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:331)
> at org.jbpm.graph.exe.Token.end(Token.java:303)
> at org.jbpm.graph.exe.Token.end(Token.java:253)
> at org.jbpm.graph.node.EndState.execute(EndState.java:59)
> at org.jbpm.graph.def.Node.enter(Node.java:318)
> at org.jbpm.graph.def.Transition.take(Transition.java:151)
> at org.jbpm.graph.def.Node.leave(Node.java:393)
> at org.jbpm.graph.node.StartState.leave(StartState.java:70)
> at org.jbpm.graph.exe.Token.signal(Token.java:194)
> at org.jbpm.graph.exe.Token.signal(Token.java:139)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:476)
> at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:390)
> at org.jboss.seam.bpm.BusinessProcess.endTask(BusinessProcess.java:195)
> at com.volantice.zone.action.TaskBean.endTask(TaskBean.java:266)
> at com.volantice.zone.action.TaskBean.doEndTask(TaskBean.java:234)
> at com.volantice.zone.action.TaskBean.endTask(TaskBean.java:176)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
> at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
> at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:56)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> at org.jboss.seam.bpm.BusinessProcessInterceptor.aroundInvoke(BusinessProcessInterceptor.java:49)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> at org.jboss.seam.transaction.TransactionInterceptor$1.work(TransactionInterceptor.java:38)
> at org.jboss.seam.util.Work.workInTransaction(Work.java:40)
> at org.jboss.seam.transaction.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:32)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
> at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
> at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
> at com.volantice.zone.action.TaskBean_$$_javassist_9.endTask(TaskBean_$$_javassist_9.java)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
> at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
> at org.jboss.el.parser.AstBracketSuffix.invoke(AstBracketSuffix.java:63)
> at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
> at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
> at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
> at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
> at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
> at javax.faces.component.UICommand.broadcast(UICommand.java:383)
> at com.sun.facelets.component.UIRepeat.broadcast(UIRepeat.java:574)
> at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:184)
> at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:162)
> at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:350)
> at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
> at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
> at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
> at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73)
> at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:80)
> at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
> at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
> at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
> at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
> at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
> at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> 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:230)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Unknown Source)
> Caused by: org.hibernate.TransactionException: could not register synchronization
> at org.hibernate.transaction.JTATransaction.registerSynchronization(JTATransaction.java:309)
> at org.jbpm.db.JobSession.deleteJobsForProcessInstance(JobSession.java:208)
> ... 93 more
> Caused by: java.lang.NullPointerException
> at org.hibernate.transaction.JTATransaction.registerSynchronization(JTATransaction.java:306)
> ... 94 more
> my jbpm.cfg.xml:
> <jbpm-configuration>
> <jbpm-context>
> <service name="persistence">
> <factory>
> <bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory">
> <field name="isTransactionEnabled">
> <false />
> </field>
> </bean>
> </factory>
> </service>
> <service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
> <service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory" />
> <service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" />
> <service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory" />
> <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
> </jbpm-context>
> </jbpm-configuration>
> my persistence.xml:
> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
> <persistence-unit name="xstreamlineDatabase">
> <provider>org.hibernate.ejb.HibernatePersistence</provider>
> <jta-data-source>java:/xstreamlineDatasource</jta-data-source>
> <properties>
> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect" />
> <property name="hibernate.show_sql" value="false" />
> <property name="hibernate.hbm2ddl.auto" value="update" />
> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider" />
> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup" />
> </properties>
> </persistence-unit>
> </persistence>
> my hibernate.cfg.xml:
> <?xml version='1.0' encoding='utf-8'?>
> <!DOCTYPE hibernate-configuration PUBLIC
> "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
> "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
> <hibernate-configuration>
> <session-factory>
> <property name="show_sql">false</property>
> <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
> <property name="connection.datasource">java:/xstreamlineDatasource</property>
> <property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
> <property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
> <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
> <property name="hbm2ddl.auto">update</property>
> <!--property name="transaction.flush_before_completion">true</property-->
> <!-- ############################################ -->
> <!-- # mapping files with external dependencies # -->
> <!-- ############################################ -->
> <!-- following mapping file has a dependendy on -->
> <!-- 'bsh-{version}.jar'. -->
> <!-- uncomment this if you don't have bsh on your -->
> <!-- classpath. you won't be able to use the -->
> <!-- script element in process definition files -->
> <mapping resource="org/jbpm/graph/action/Script.hbm.xml" />
> <!-- following mapping files have a dependendy on -->
> <!-- 'jbpm-identity.jar', mapping files -->
> <!-- of the pluggable jbpm identity component. -->
> <!-- Uncomment the following 3 lines if you -->
> <!-- want to use the jBPM identity mgmgt -->
> <!-- component. -->
> <!-- identity mappings (begin) ===
> <mapping resource="org/jbpm/identity/User.hbm.xml"/>
> <mapping resource="org/jbpm/identity/Group.hbm.xml"/>
> <mapping resource="org/jbpm/identity/Membership.hbm.xml"/>
> ==== identity mappings (end) -->
> <!-- following mapping files have a dependendy on -->
> <!-- the JCR API -->
> <!-- jcr mappings (begin) ===
> <mapping resource="org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml"/>
> ==== jcr mappings (end) -->
> <!-- ###################### -->
> <!-- # jbpm mapping files # -->
> <!-- ###################### -->
> <!-- hql queries and type defs -->
> <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
> <!-- graph.action mapping files -->
> <mapping resource="org/jbpm/graph/action/MailAction.hbm.xml" />
> <!-- graph.def mapping files -->
> <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml" />
> <mapping resource="org/jbpm/graph/def/Node.hbm.xml" />
> <mapping resource="org/jbpm/graph/def/Transition.hbm.xml" />
> <mapping resource="org/jbpm/graph/def/Event.hbm.xml" />
> <mapping resource="org/jbpm/graph/def/Action.hbm.xml" />
> <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml" />
> <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml" />
> <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml" />
> <!-- graph.node mapping files -->
> <mapping resource="org/jbpm/graph/node/StartState.hbm.xml" />
> <mapping resource="org/jbpm/graph/node/EndState.hbm.xml" />
> <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml" />
> <mapping resource="org/jbpm/graph/node/Decision.hbm.xml" />
> <mapping resource="org/jbpm/graph/node/Fork.hbm.xml" />
> <mapping resource="org/jbpm/graph/node/Join.hbm.xml" />
> <mapping resource="org/jbpm/graph/node/MailNode.hbm.xml" />
> <mapping resource="org/jbpm/graph/node/State.hbm.xml" />
> <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml" />
> <!-- context.def mapping files -->
> <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml" />
> <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml" />
> <!-- taskmgmt.def mapping files -->
> <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml" />
> <!-- module.def mapping files -->
> <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml" />
> <!-- bytes mapping files -->
> <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml" />
> <!-- file.def mapping files -->
> <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml" />
> <!-- scheduler.def mapping files -->
> <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml" />
> <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml" />
> <!-- graph.exe mapping files -->
> <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml" />
> <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml" />
> <mapping resource="org/jbpm/graph/exe/Token.hbm.xml" />
> <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml" />
> <!-- module.exe mapping files -->
> <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml" />
> <!-- context.exe mapping files -->
> <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml" />
> <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml" />
> <!-- job mapping files -->
> <mapping resource="org/jbpm/job/Job.hbm.xml" />
> <mapping resource="org/jbpm/job/Timer.hbm.xml" />
> <mapping resource="org/jbpm/job/ExecuteNodeJob.hbm.xml" />
> <mapping resource="org/jbpm/job/ExecuteActionJob.hbm.xml" />
> <!-- taskmgmt.exe mapping files -->
> <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml" />
> <!-- logging mapping files -->
> <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml" />
> <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml" />
> <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml" />
> <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml" />
> <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml" />
> <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml" />
> </session-factory>
> </hibernate-configuration>
--
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