public void eventPostRollbackAdd ( Transaction transaction ) throws SevereMessageStoreException { super . eventPostRollbackAdd ( transaction ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "eventPostRollbackAdd" , transaction ) ; if ( _handler != null ) { _handler . removeTopic ( _topic ) ; // If this was the last topic reference, then delete the PubSub output // handler. if ( _handler . getTopics ( ) == null || _handler . getTopics ( ) . length == 0 ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) SibTr . debug ( tc , "Deleting PubSubOutputHandler " + _handler ) ; _destination . deletePubSubOutputHandler ( _neighbour . getUUID ( ) ) ; } } else if ( _neighbours != null ) _neighbours . removeTopicSpaceReference ( _neighbour . getUUID ( ) , this , _topicSpaceUuid , _topic ) ; // Remove the subscription from the list. _neighbour . removeSubscription ( _topicSpaceUuid , _topic ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "eventPostRollbackAdd" ) ; }
When the add rollback is made need to remove the topic . Or the topicSpace reference needs to be removed .