I would like to know if is possible this situation:
My application RMI client:
1- get the XAResource xaR1 2- create Xid1 3- xaR1.start(Xid1) 4-doAnyThingDB1("insert into table_Client ...") 5- xaR1.end(Xid1) 6- call the method of app Server RMI passing the Xid
and the appSever RMI: 1- get the XAResource xaR1 (same the appClient) 2- create Xid2 3- xaR1.start(Xid2) 4-doAnyThingDB2("insert into table_Server ...") 5- xaR1.end(Xid2) 6- prepare(Xid2) 7- commit(Xid2)
After the conclution of method remote, There will register in the table_Server and table_Client or only on table_Server ?
I need that the fisrt result is the correct, else what I can do to control transaction distributes in diferent VMs.
Distributed transactions are .... well .... distributed. JVMs mean nothing to them. Sad, huh? No seriously, that's what distributed transactions are for. Just start the transaction, do your stuff, and commit. Don't be overthinking things here.