[
https://jira.jboss.org/jira/browse/JBPM-2036?page=com.atlassian.jira.plug...
]
David Roberts commented on JBPM-2036:
-------------------------------------
Thanks Alejandro.
I have posted a thread regarding a timer issue which I have noticed in the latest Jbpm
3.2.6 SNAPSHOT. I am guessing it may be related to this Jira issue fix, as above you
commented "Resolved the SOSE by not deleting repeating timers, simply preventing
further repetitions".
Basically, when a task instance ends, the timer attached to it is not deleted until its
due date is up again, and it runs one more time. This could be undesirable as perhaps we
don't want to timer to run if the task has ended?
Please see the post at:
http://www.jboss.org/index.html?module=bb&op=viewtopic&t=150919
Kind regards
StaleObjectStateException when repeating timer signals the token
----------------------------------------------------------------
Key: JBPM-2036
URL:
https://jira.jboss.org/jira/browse/JBPM-2036
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Core Engine
Affects Versions: jBPM-3.2.5.SP1, jBPM 3.3.1 GA
Reporter: Martin Putz
Assignee: Alejandro Guizar
Fix For: jBPM-3.2.5.SP2, jBPM 3.2.6 GA
With the following timer definition on a state node
<state name='state1'>
<timer name='timer-to-end-with-repeat' duedate='1 second'
repeat='5 seconds'>
<action class='org.jbpm.scheduler.exe.TimerDbTest$Signal' />
</timer>
<transition name='to_state2' to='state2'/>
</state>
and the action class execute() method being
public void execute(ExecutionContext executionContext) throws Exception {
executionContext.leaveNode();
}
leads to:
2009-02-10 21:38:45,404 16508 ERROR
[org.hibernate.event.def.AbstractFlushingEventListener] (JbpmJobExecutor:127.0.0.1:1:)
Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another
transaction (or unsaved-value mapping was incorrect): [org.jbpm.job.Timer#86]
at
org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1769)
at
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2412)
at
org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2312)
at
org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2612)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:96)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)
at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.jbpm.persistence.db.DbPersistenceService.commit(DbPersistenceService.java:226)
at
org.jbpm.persistence.db.DbPersistenceService.endTransaction(DbPersistenceService.java:131)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:197)
at org.jbpm.svc.Services.close(Services.java:243)
at org.jbpm.JbpmContext.close(JbpmContext.java:133)
at org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:194)
at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:61)
If 'repeat' is not set, the token is leaving the state as expected.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira