public static Transaction getCurrentTransaction ( ) { Transaction tx = null ; if ( piCurrent != null ) { // A non-null piCurrent means that a TxServerInterceptor was // installed: check if there is a transaction propagation context try { Any any = piCurrent . get_slot ( slotId ) ; if ( any . type ( ) . kind ( ) . value ( ) != TCKind . _tk_null ) { // Yes, there is a TPC: add the foreign transaction marker tx = ForeignTransaction . INSTANCE ; } } catch ( InvalidSlot e ) { throw IIOPLogger . ROOT_LOGGER . errorGettingSlotInTxInterceptor ( e ) ; } } return tx ; }
Returns the transaction associated with the transaction propagation context that arrived in the current IIOP request .