public Dispatchable addDispatchableForLocalTransaction ( int clientTransactionId ) { if ( tc . isEntryEnabled ( ) ) SibTr . entry ( this , tc , "addDispatchableForLocalTransaction" , "" + clientTransactionId ) ; if ( idToFirstLevelEntryMap . containsKey ( clientTransactionId ) ) { final SIErrorException exception = new SIErrorException ( CommsConstants . TRANTODISPATCHMAP_ADDDISPATCHLOCALTX_01 ) ; FFDCFilter . processException ( exception , CLASS_NAME + ".addDispatchableForLocalTransaction" , CommsConstants . TRANTODISPATCHMAP_ADDDISPATCHLOCALTX_01 , new Object [ ] { "" + clientTransactionId , idToFirstLevelEntryMap , this } ) ; if ( tc . isEventEnabled ( ) ) SibTr . exception ( this , tc , exception ) ; throw exception ; } LocalFirstLevelMapEntry entry = new LocalFirstLevelMapEntry ( ) ; Dispatchable result = entry . getDispatchable ( ) ; idToFirstLevelEntryMap . put ( clientTransactionId , entry ) ; if ( tc . isEntryEnabled ( ) ) SibTr . exit ( this , tc , "addDispatchableForLocalTransaction" , result ) ; return result ; }
Adds a dispatchable for use with a specific local transaction . Typically this is done by the done by the TCP channel thread when it determines it is about to pass the transmission relating to the start of a local transaction to the receive listener dispatcher .