Hello, gurus
I am still in the process of integrating Tyrex DTM with JBoss and here is
my current challenge:
I am trying to run Petstore in JBoss+Tyrex and running into problems, so I
trace the same execution of Petstore in pristine JBoss with its native TM.
Here is what I found.
Petstore uses BMP Entity Beans and JBoss uses transaction synchronization
objects to manage committing the changes to the database. What I found
out, is that Tyrex commits transactions in a slightly different order than
JBoss does.
JBossTM order:
1) doBeforeCompletion() -- this invokes the sync objects and commits into
the database
2) endResource()
3) change transaction status to COMMITTED when necessary
Tyrex order:
1) set transaction status to COMMITTING
2) call beforeCompletion() -- this invokes the sync objects and causes an
exception when EntitySynchronizationInterceptor tries to store the Entity
bean and Minerva XAResource tries to enlist itself with the transaction
which is now COMMITTING -- and IllegalStateException
3) the rest is irrelevant
So, what are we to do here?
It seems that Tyrex is not making any mistakes. Perhaps, we need to enlist
the resource in advance with this transaction?
Yours truly,
Anatoly.
-------------------------------------------------------------------------
Anatoly Akkerman
Computer Science Dept.
Courant Institute of Mathematical Sciences, NYU
719 Broadway, #715 Tel: 212 998-3525
New York, NY 10003 Fax: 212 995-4123
-------------------------------------------------------------------------
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development