protected void updatePartnerServiceData ( ) throws Exception { if ( tc . isEntryEnabled ( ) ) Tr . entry ( tc , "updatePartnerServiceData" ) ; try { // // Check we have a recoverableUnit and three sections to add the data. // On recovery we check that all service data sections were recovered. // if ( _partnerServiceData == null ) { if ( _recoverXaLog != null ) _partnerServiceData = _recoverXaLog . createRecoverableUnit ( ) ; else _partnerServiceData = _xaLog . createRecoverableUnit ( ) ; _partnerServerSection = _partnerServiceData . createSection ( TransactionImpl . SERVER_DATA_SECTION , true ) ; _partnerApplIdSection = _partnerServiceData . createSection ( TransactionImpl . APPLID_DATA_SECTION , true ) ; _partnerEpochSection = _partnerServiceData . createSection ( TransactionImpl . EPOCH_DATA_SECTION , true ) ; _partnerLowWatermarkSection = _partnerServiceData . createSection ( TransactionImpl . LOW_WATERMARK_SECTION , true ) ; /* @MD18134A */ _partnerNextIdSection = _partnerServiceData . createSection ( TransactionImpl . NEXT_ID_SECTION , true ) ; /* @MD18134A */ // Log this server name _partnerServerSection . addData ( Utils . byteArray ( _failureScopeController . serverName ( ) ) ) ; // Log our ApplId _partnerApplIdSection . addData ( _ourApplId ) ; // Low watermark will start at 1 _partnerEntryLowWatermark = 1 ; /* @MD18134A */ _partnerLowWatermarkSection . addData ( Util . intToBytes ( _partnerEntryLowWatermark ) ) ; /* @MD18134A */ // Next ID will start at 2. _partnerEntryNextId = 2 ; /* @MD18134A */ _partnerNextIdSection . addData ( Util . intToBytes ( _partnerEntryNextId ) ) ; /* @MD18134A */ } // Always update this server's current epoch _partnerEpochSection . addData ( Util . intToBytes ( _ourEpoch ) ) ; // Update the server state in the log updateServerState ( STARTING ) ; _partnerServiceData . forceSections ( ) ; } catch ( Exception e ) { FFDCFilter . processException ( e , "com.ibm.tx.jta.impl.RecoveryManager.updatePartnerSeviceData" , "1224" , this ) ; if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "updatePartnerServiceData" , e ) ; throw e ; } if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "updatePartnerServiceData" ) ; }
Update service data in the partner log files