first registers the transaction identifier see xalogicallog #getcurrenttxidentifier then calls #docommit . concode_field_sep int identifier concode_elem_sep boolean rolledback concode_elem_sep boolean committed concode_elem_sep XaLogicalLog log concode_elem_sep boolean prepared concode_elem_sep boolean isRecovered concode_elem_sep long commitTxId concode_field_sep void doPrepare concode_elem_sep void rollback concode_elem_sep void prepare concode_elem_sep void injectCommand concode_elem_sep void addCommand concode_elem_sep void setCommitTxId concode_elem_sep void doCommit concode_elem_sep boolean isReadOnly concode_elem_sep void setRecovered concode_elem_sep void doRollback concode_elem_sep void doAddCommand concode_elem_sep int getIdentifier concode_elem_sep boolean isRecovered concode_elem_sep long getCommitTxId
void function ( ) { if ( ! prepared && ! isRecovered ( ) ) { throw new XAException ( "srini_string" ) ; } log . registerTxIdentifier ( getIdentifier ( ) ) ; try { committed = true ; doCommit ( ) ; } finally { log . unregisterTxIdentifier ( ) ; } }