MESubscription proxyDeregistered ( SIBUuid12 topicSpace , String topic , Transaction transaction ) throws SIResourceException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "proxyDeregistered" , new Object [ ] { topicSpace , topic , transaction } ) ; // Generate a key for the topicSpace/topic final String key = BusGroup . subscriptionKey ( topicSpace , topic ) ; // Get the subscrition from the Hashtable. final MESubscription sub = ( MESubscription ) iProxies . get ( key ) ; if ( sub != null ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( tc , "Subscription " + sub + " being removed" ) ; // Remove the subscription from the Neighbour item Stream. try { sub . remove ( transaction , sub . getLockID ( ) ) ; } catch ( MessageStoreException e ) { FFDCFilter . processException ( e , "com.ibm.ws.sib.processor.proxyhandler.Neighbour.proxyDeregistered" , "1:669:1.107" , this ) ; SibTr . exception ( tc , e ) ; SibTr . error ( tc , "INTERNAL_MESSAGING_ERROR_CWSIP0002" , new Object [ ] { "com.ibm.ws.sib.processor.proxyhandler.Neighbour" , "1:676:1.107" , e } ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "proxyDeregistered" , "SIResourceException" ) ; throw new SIResourceException ( nls . getFormattedMessage ( "INTERNAL_MESSAGING_ERROR_CWSIP0002" , new Object [ ] { "com.ibm.ws.sib.processor.proxyhandler.Neighbour" , "1:686:1.107" , e } , null ) , e ) ; } // Remove the proxy from the list iProxies . remove ( key ) ; } else { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( tc , "No Subscription to be removed" ) ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "proxyDeregistered" , sub ) ; return sub ; }
proxyDeregistered is called on this Neighbour object when a delete proxy subscription is received from a Neighbour .