protected void recoverSubscriptions ( MultiMEProxyHandler proxyHandler ) throws MessageStoreException , SIResourceException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "recoverSubscriptions" , proxyHandler ) ; iProxyHandler = proxyHandler ; iProxies = new Hashtable ( ) ; NonLockingCursor cursor = null ; try { cursor = newNonLockingItemCursor ( new ClassEqualsFilter ( MESubscription . class ) ) ; AbstractItem item = null ; while ( ( item = cursor . next ( ) ) != null ) { MESubscription sub = null ; sub = ( MESubscription ) item ; // Generate a key for the topicSpace/topic final String key = BusGroup . subscriptionKey ( sub . getTopicSpaceUuid ( ) , sub . getTopic ( ) ) ; // Add the Neighbour into the list of recovered Neighbours iProxies . put ( key , sub ) ; // Having created the Proxy, need to readd the proxy to the matchspace or just reference it. iNeighbours . createProxy ( this , iDestinationManager . getDestinationInternal ( sub . getTopicSpaceUuid ( ) , false ) , sub , sub . getTopicSpaceUuid ( ) , sub . getTopic ( ) , true ) ; // When recovering subscriptions, we need to call the event post commit // code to either add a reference, or put in the MatchSpace. sub . eventPostCommitAdd ( null ) ; } } finally { if ( cursor != null ) cursor . finished ( ) ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "recoverSubscriptions" ) ; }
Recovers the Neighbours subscriptions that it had registered .