[jboss-user] [jBPM] New message: "Repeat Timer Issue"
Sean Mo
do-not-reply at jboss.com
Thu Mar 4 05:41:07 EST 2010
User development,
A new message was posted in the thread "Repeat Timer Issue":
http://community.jboss.org/message/529862#529862
Author : Sean Mo
Profile : http://community.jboss.org/people/seanmo
Message:
--------------------------------------------------------------
This happened on jBPM 4.0. Initially I defined a normal timer in my process definition, it worked well but after I changed it to a repeat timer (by adding repeat="30 seconds"), I encountered the following exception:
Mar 4, 2010 5:40:35 PM org.jbpm.internal.log.Jdk14Log error
SEVERE: exception while executing 'timer[23|2010-03-04 17:41:05,391|TimeoutEvent]'
org.jbpm.api.JbpmException
TimerImpl.java:150)at org.jbpm.pvm.internal.job.TimerImpl.execute(
TimerImpl.java:52)at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(
ExecuteJobCmd.java:74)at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(
ExecuteJobCmd.java:41)at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(
DefaultCommandService.java:42)at org.jbpm.pvm.internal.spring.CommandTransactionCallback.doInTransaction(
CommandTransactionCallback.java:50)at org.springframework.transaction.support.TransactionTemplate.execute(
TransactionTemplate.java:128)at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(
SpringTransactionInterceptor.java:79)at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(
EnvironmentInterceptor.java:54)at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(
RetryInterceptor.java:55)at org.jbpm.pvm.internal.jobexecutor.JobExecutorThread.run(
JobExecutorThread.java:63)
Here's my timer definition:
<
custom expr=+"#{customWaitActivity}"+ name=+"Custom Wait"+ g=+"411,174,126,52"+>
<on event=+"TimeoutEvent"+>
<!--<timer duedate="30 seconds" />-->
<timer duedate=+"30 seconds"+ repeat=+"30 seconds"+ />
<event-listener class=+"jbpm.demo.wf.spring.SpringEventListenerDelegate"+>
<field name=+"beanName"+>
<string value=+"timerExpireHandler"+ />
</field>
</event-listener>
</on>
<transition name=+"timeout"+ to=+"Do Something"+ g=+"47,-8"+ >
<timer duedate=+"7 business days"+></timer>
</transition>
</custom>
Spring is used to control all the transactions in my project. All the other functions work fine so I think this may be a Spring integration bug of Timer. Here's my Sping Transaction config:
<
tx:annotation-driven transaction-manager=+"transactionManager"+ />
<bean id=+"transactionManager"+ class=+"org.springframework.orm.hibernate3.HibernateTransactionManager"+>
<property name=+"sessionFactory"+ ref=+"sessionFactory"+/>
</bean>
<bean id=+"sessionFactory"+ class=+"org.springframework.orm.hibernate3.LocalSessionFactoryBean"+>
<property name=+"dataSource"+ ref=+"demoDatasource"+ />
<property name=+"exposeTransactionAwareSessionFactory"+><value>true</value></property>
<property name=+"hibernateProperties"+>
<props>
<prop key=+"hibernate.dialect"+>org.hibernate.dialect.DB2Dialect</prop>
<prop key=+"hibernate.format_sql"+>false</prop>
<prop key=+"hibernate.show_sql"+>false</prop>
<prop key=+"use_sql_comments"+>false</prop>
<prop key=+"hibernate.hbm2ddl.auto"+>none</prop>
</props>
</property>
<property name=+"mappingLocations"+>
<list>
<value>classpath:jbpm.execution.hbm.xml</value>
<value>classpath:jbpm.repository.hbm.xml</value>
<value>classpath:jbpm.task.hbm.xml</value>
<value>classpath:jbpm.history.hbm.xml</value>
<value>classpath:jbpm.identity.hbm.xml</value>
</list>
</property>
</bean>
And jbpm.cfg.xml is properly set up according to the jbpm doc as below.
...
<
job-executor threads=+"2"+ idle=+"20000"+ lock=+"2400000"+ auto-start=+"true"+ init=+"immediate"+ />
<!-- Here we needed to change the transaction interceptor -->
<command-service>
...
<spring-transaction-interceptor />
</command-service>
<!-- Added spring as read-context -->
<script-manager default-expression-language=+"juel"+ default-script-language=+"juel"+
read-contexts=+"execution, environment, process-engine, spring"+ write-context=+""+>
<script-language name=+"juel"+ factory=+"org.jbpm.pvm.internal.script.JuelScriptEngineFactory"+ />
</script-manager>
...
<transaction-context>
...
<hibernate-session current=+"true"+ />
</transaction-context>
...
Could anyone help to take a look? Thank you very much in advance!
: no transaction in environmentat org.jbpm.pvm.internal.job.TimerImpl.execute(
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/529862#529862
More information about the jboss-user
mailing list