Was this issue for the join with multi-threads fixed?
I am facing same issue, too.
My application server is Oracle, IBM, and Fujitsu with Oracle 10g DB.
I have two parallel asynchronous nodes between fork and join, and these node are executed
by different thread via MDB.
Here is what I understood from code so far.
In execute method in Join node, when it call session.lock(parentToken, LockMode.FORCE),
hibernate seems like incrementing version (why for locking???), and same operation to the
same object in another thread throw StaleObjectStateException.
This is basic feature we need for concurrent operation, and very easy to implement with
SQL based programming with "select for update".
I tried to LockMode.UPGRADE, but it's same.
So, I tried to called "select for update" against parent Token record instead of
using session.lock(), and this operation worked as I expected, but when committing
transaction on JbpmContext.close(), later thread still throw StaleObjectStateException.
OK, then I load object after getting lock (after select for update) by
session.load(parentToken.getId(), Token.class, LockMode.UPGRADE), but surprisingly the
parentToken object returned still had old version, even DB record was committed and
version was incremented.
Does someone solve this issue?
or am I doing something wrong?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4136870#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...