public void end ( Xid xid , int flags ) throws XAException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) Tr . entry ( this , tc , "end" , new Object [ ] { ivManagedConnection , AdapterUtil . toString ( xid ) , AdapterUtil . getXAResourceEndFlagString ( flags ) } ) ; try { if ( flags == XAResource . TMFAIL ) { ivStateManager . setState ( WSStateManager . XA_END_FAIL ) ; } else { ivStateManager . setState ( WSStateManager . XA_END ) ; } } catch ( TransactionException te ) { //Exception means setState failed because it was invalid to set the state in this case FFDCFilter . processException ( te , "com.ibm.ws.rsadapter.spi.WSRdbOnePhaseXaResourceImpl.end" , "189" , this ) ; Tr . error ( tc , "INVALID_TX_STATE" , new Object [ ] { "OnePhaseXAResource.end()" , ivManagedConnection . getTransactionStateAsString ( ) } ) ; XAException xae = new XAException ( XAException . XA_RBPROTO ) ; traceXAException ( xae , currClass ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) Tr . exit ( this , tc , "end" , "Exception" ) ; throw xae ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) Tr . exit ( this , tc , "end" ) ; }
XAException with return code XA_RBROLLBACK