[jboss-user] [JBoss jBPM] - Timer ; exception ; Hibernate
JimKnopf
do-not-reply at jboss.com
Thu Nov 23 03:31:36 EST 2006
Hi again,
I have a Timer and let it execute an action.
After the Timer execute the Action i got a Exception when the TimerThread want to close his JBPMContext.
Can some one help and tell me what's wrong?
Processdefinition:
| String processDefinition = "<process-definition name='Timos die erste'>" + " <swimlane name='ingo'>"
| + " <assignment expression='user(ingo)'></assignment>" + " </swimlane>"
|
| + " <swimlane name='tanja'>" + " <assignment expression='user(tanja)'></assignment>"
| + " </swimlane>"
|
| + " <start-state name='start'>" + " <transition name='transition 1' to='tasknode1' />"
| + " </start-state>"
|
| + " <task-node name='tasknode1'>" + " <task name='Test Tasknote1' swimlane='tanja'>"
| + " <timer name='ContentExpired' duedate='3 seconds' transition='timeUp' >"
| + " <action class='actions.actionTest2'>" + " </action>" + " </timer>" + " <controller>"
| + " <variable name='age' access='read,write'></variable>"
| + " <variable name='age1' access='read'></variable>"
| + " <variable name='age11' access='read'></variable>"
| + " <variable name='age111' access='read,write'></variable>"
| + " <variable name='age1111' access='read,write'></variable>"
| + " <variable name='age11111' access='read'></variable>"
| + " <variable name='age111111' access='read'></variable>"
| + " <variable name='age1111111' access='read,write'></variable>"
| + " <variable name='age11111111' access='read,write'></variable>"
| + " <variable name='age111111111' access='read,write'></variable>" + " </controller>"
| + " </task>" + " <transition name='transition 2' to='tasknode2'></transition>"
| + " <transition name='timeUp' to='end'></transition>" + " </task-node>"
|
| + " <task-node name='tasknode2'>" + " <task name='Test Tasknote2' swimlane='tanja'>"
| + " <controller>" + " <variable name='age' access='read,write,required'></variable>"
| + " </controller>" + " </task>" + " <transition name='transition 22' to='Timo 1'></transition>"
| + " </task-node>"
|
| + " <state name='Timo 1'>" + " <transition name='transition 3' to='end'/>" + " </state>"
|
| + " <end-state name='end' />" + "</process-definition>";
|
The Schedular:
| private void initSchedular () {
| // java SchedulerMain <interval> <historyMaxSize> <dateFormat>
|
| // create a new scheduler
| Scheduler scheduler = new Scheduler();
|
| // initialize it with the command line parameters
| int interval = 5000;
| scheduler.setInterval(interval);
| int historyMaxSize = 50;
| scheduler.setHistoryMaxSize(historyMaxSize);
| DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
|
| // start the scheduler
| scheduler.start();
|
| // register the console listener
| scheduler.getSchedulerThread().addListener( new LogListener(dateFormat) );
| }
|
The Exception
anonymous wrote :
| 09:13:48,375 [JbpmScheduler] DEBUG JbpmContextInfo : creating jbpm context with service factories '[message, scheduler, authentication, persistence, logging]'
| 09:13:48,375 [JbpmScheduler] DEBUG JbpmContext : creating JbpmContext
| 09:13:48,375 [JbpmScheduler] DEBUG DbPersistenceServiceFactory : creating persistence service
| 09:13:48,375 [JbpmScheduler] DEBUG DbPersistenceService : creating hibernate session
| 09:13:48,375 [JbpmScheduler] DEBUG DbPersistenceService : beginning hibernate transaction
| 09:13:48,375 [JbpmScheduler] DEBUG SchedulerThread : checking for timers
| My Timer-Action!
| 09:13:48,406 [JbpmScheduler] DEBUG SchedulerThread : found timer timer(ContentExpired,actions.actionTest2,09:13:48,047)
| 09:13:48,406 [JbpmScheduler] DEBUG SchedulerThread : executing timer 'timer(ContentExpired,actions.actionTest2,09:13:48,047)'
| 09:13:48,421 [JbpmScheduler] DEBUG Timer : executing timer 'timer(ContentExpired,actions.actionTest2,09:13:48,047)'
| 09:13:48,421 [JbpmScheduler] DEBUG GraphElement : event 'before-signal' on 'TaskNode(tasknode1)' for 'Token(/)'
| 09:13:48,421 [JbpmScheduler] DEBUG GraphElement : event 'node-leave' on 'TaskNode(tasknode1)' for 'Token(/)'
| 09:13:48,421 [JbpmScheduler] DEBUG GraphElement : event 'transition' on 'Transition(timeUp)' for 'Token(/)'
| 09:13:48,437 [JbpmScheduler] DEBUG GraphElement : event 'node-enter' on 'EndState(end)' for 'Token(/)'
| 09:13:48,437 [JbpmScheduler] DEBUG GraphElement : event 'process-end' on 'ProcessDefinition(Timos die erste)' for 'Token(/)'
| 09:13:48,453 [JbpmScheduler] DEBUG GraphElement : event 'after-signal' on 'TaskNode(tasknode1)' for 'Token(/)'
| 09:13:48,453 [JbpmScheduler] DEBUG Services : executing default save operations
| 09:13:48,453 [JbpmScheduler] DEBUG HibernateSaveOperation : saving process instance
| 09:13:48,453 [JbpmScheduler] DEBUG SaveLogsOperation : flushing logs to logging service.
| 09:13:48,468 [JbpmScheduler] DEBUG CascadeSaveOperation : cascading save of 'org.jbpm.graph.exe.ProcessInstance at 11a6631'
| 09:13:48,468 [JbpmScheduler] INFO TestFrame$LogListener : 23/11/2006 09:13:48 | timer(ContentExpired,actions.actionTest2,09:13:48,047) | OK |
| 09:13:48,468 [JbpmScheduler] DEBUG SchedulerThread : deleting timer 'timer(ContentExpired,actions.actionTest2,09:13:48,047)'
| 09:13:48,468 [JbpmScheduler] DEBUG JbpmContext : closing JbpmContext
| 09:13:48,468 [JbpmScheduler] DEBUG Services : closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService at 1c7510d
| 09:13:48,468 [JbpmScheduler] DEBUG DbPersistenceService : committing hibernate transaction
| 09:13:48,484 [JbpmScheduler] ERROR AbstractFlushingEventListener : Could not synchronize database state with session
| org.hibernate.StaleStateException: Unexpected row count: 0 expected: 1
| at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:27)
| at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2291)
| at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2440)
| at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:65)
| at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
| at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
| at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
| at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:162)
| at org.jbpm.svc.Services.close(Services.java:211)
| at org.jbpm.JbpmContext.close(JbpmContext.java:139)
| at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
| at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
| org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:172)
| at org.jbpm.svc.Services.close(Services.java:211)
| at org.jbpm.JbpmContext.close(JbpmContext.java:139)
| at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
| at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
| Caused by: org.hibernate.StaleStateException: Unexpected row count: 0 expected: 1
| at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:27)09:13:48,500 [JbpmScheduler] ERROR Services : problem closing service 'persistence'
| org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:172)
| at org.jbpm.svc.Services.close(Services.java:211)
| at org.jbpm.JbpmContext.close(JbpmContext.java:139)
| at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
| at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
| Caused by: org.hibernate.StaleStateException: Unexpected row count: 0 expected: 1
| at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:27)
| at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2291)
| at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2440)
| at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:65)
| at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
| at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
| at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
| at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:162)
| ... 4 more
| 09:13:48,500 [JbpmScheduler] DEBUG Services : closing service 'scheduler': org.jbpm.scheduler.db.DbSchedulerService at c524dd
| 09:13:48,500 [JbpmScheduler] DEBUG Services : closing service 'logging': org.jbpm.logging.db.DbLoggingService at f757b9
| 09:13:48,500 [JbpmScheduler] INFO SchedulerThread : runtime exception while executing timers
| org.jbpm.JbpmException: problem closing services {persistence=org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session}
| at org.jbpm.svc.Services.close(Services.java:223)
| at org.jbpm.JbpmContext.close(JbpmContext.java:139)
| at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
| at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
| Caused by: org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:172)
| at org.jbpm.svc.Services.close(Services.java:211)
| ... 3 more
| Caused by: org.hibernate.StaleStateException: Unexpected row count: 0 expected: 1
| at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:27)
| at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2291)
| at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2440)
| at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:65)
| at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
| at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
| at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
| at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:162)
| ... 4 more
|
| at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2291)
| at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2440)
| at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:65)
| at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
| at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
| at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
| at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
| at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:162)
| ... 4 more
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3988076#3988076
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3988076
More information about the jboss-user
mailing list