[jboss-user] [JBoss jBPM] - jBPM 3.3.0GA and Oracle causing StaleObjectStateException
xnejp03
do-not-reply at jboss.com
Mon Nov 24 07:31:14 EST 2008
Hi guys,
I've upgraded from 3.2.3 to 3.3.0.GA (Oracle) and getting this exception after creating a process instance :
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.graph.exe.Token#3591]
| at org.hibernate.persister.entity.AbstractEntityPersister.forceVersionIncrement(AbstractEntityPersister.java:1239)
| at org.hibernate.event.def.AbstractLockUpgradeEventListener.upgradeLock(AbstractLockUpgradeEventListener.java:82)
| at org.hibernate.event.def.DefaultLockEventListener.onLock(DefaultLockEventListener.java:64)
| at org.hibernate.impl.SessionImpl.fireLock(SessionImpl.java:584)
| at org.hibernate.impl.SessionImpl.lock(SessionImpl.java:576)
| at org.jbpm.graph.node.Join.execute(Join.java:121)
| at org.jbpm.graph.def.Node.enter(Node.java:314)
| 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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.def.Node_$$_javassist_179.enter(Node_$$_javassist_179.java)
| at org.jbpm.graph.def.Transition.take(Transition.java:151)
| at org.jbpm.graph.def.Node.leave(Node.java:389)
| at org.jbpm.graph.def.Node.leave(Node.java:353)
| at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)
| at uk.co.ondemand.portal.workflow.actions.AbstractNodeActionHandler.execute(AbstractNodeActionHandler.java:50)
| at org.jbpm.graph.def.Action.execute(Action.java:129)
| 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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.def.Action_$$_javassist_193.execute(Action_$$_javassist_193.java)
| at org.jboss.seam.bpm.SeamUserCodeInterceptor$1.process(SeamUserCodeInterceptor.java:80)
| at org.jboss.seam.bpm.SeamUserCodeInterceptor$ContextualCall.run(SeamUserCodeInterceptor.java:33)
| at org.jboss.seam.bpm.SeamUserCodeInterceptor.executeAction(SeamUserCodeInterceptor.java:74)
| at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:254)
| ... 171 more
The process is here:
<?xml version="1.0" encoding="UTF-8"?>
|
| <process-definition xmlns="" name="testProcess">
|
|
| <swimlane name="test_swimlane">
| <assignment pooled-actors="gQAUsers"></assignment>
| </swimlane>
|
|
| <start-state name="start-state1">
| <transition to="automated node"></transition>
| </start-state>
|
|
| <node name="automated node">
| <action name="write to db 1" class="uk.co.ondemand.cmm.service.workflow.handlers.MyActionHandler"></action>
| <transition to="fork1"></transition>
| </node>
|
| <task-node name="confirm node">
| <task name="task1" duedate="#{dueDate} + 5 business days" swimlane="test_swimlane">
| <description>
| This is task description
| </description>
| <controller>
| <variable access="read,write" name="myVariable" mapped-name="myTaskVariable"></variable>
| </controller>
| </task>
| <transition to="join1"></transition>
| </task-node>
|
| <node name="write">
| <action class="uk.co.ondemand.cmm.service.workflow.handlers.MyActionHandler"></action>
| <transition to="end-state1"></transition>
| </node>
|
| <fork name="fork1">
| <transition to="confirm node" name="confirm"></transition>
| <transition to="automated node 2" name="auto"></transition>
| </fork>
|
| <join name="join1">
| <transition to="write"></transition>
| </join>
|
| <node name="automated node 2">
| <action class="uk.co.ondemand.cmm.service.workflow.handlers.MyActionHandler"></action>
| <transition to="join1"></transition>
| </node>
|
|
| <end-state name="end-state1"></end-state>
|
|
| </process-definition>
I found this issue: https://jira.jboss.org/jira/browse/JBPM-1772 which looks like a flush() has been removed which previously fixed an Oracle bug. Could this be the problem?
Cheers,
Petr
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4191727#4191727
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4191727
More information about the jboss-user
mailing list