Hi,

I have tried to implement 2-phase commit(Last participant support) with 2 resources(DB2 & Oracle) and a one-phase commit resource (TXSeries) using J2EE application (EJBs & Servlets) as follow.

EJB method(){
try{
ut.begin();
Code for calling entity beam update in DB2 Database table //two-phase resource
Code for calling entity bean update in Oracle Database table //two-phase resource
Code for calling session bean which invokes TXSeries program //one-phase resource
ut.commit();
}catch(Exception e){
context.setRollbackOnly();
}
}


The transaction went successful. But I am unable to find whether it has taken the Last Participant approach of two-phase commit or not. I tried to debug the commit API of UserTransaction in EJB but still unable to find.

I have tried to run my application by enabling and disabling Last Participant Support of WAS. In both the cases, the transaction was successful. I was expecting only in the case of enabling Last Participant Support in WAS should work. But in the other case also the transaction went successful.

Could anybody help me in finding whether my application has taken the Last Participant Support approach or not. How can I make sure the the Last Participant Support works with a multiple two-phase and a single one-phase commit resources? Is there any other way I can disturb the one-phase commit resource after WAS sending prepare for all the two-phase commit resources so that the whole transaction fails in the context of Last Participant support.

Thank you,

Loka