public static void createRemoteDurableSubscription ( MessageProcessor MP , ConsumerDispatcherState subState , SIBUuid8 remoteMEUuid , SIBUuid12 destinationID ) throws SIDurableSubscriptionAlreadyExistsException , SIResourceException { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "createRemoteDurableSubscription" , new Object [ ] { MP , subState , remoteMEUuid , destinationID } ) ; // Issue the request via the DurableInputHandler int status = issueCreateDurableRequest ( MP , subState , remoteMEUuid , destinationID ) ; switch ( status ) { case DurableConstants . STATUS_SUB_ALREADY_EXISTS : { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "createRemoteDurableSubscription" , "SIDurableSubscriptionAlreadyExistsException" ) ; throw new SIDurableSubscriptionAlreadyExistsException ( nls . getFormattedMessage ( "SUBSCRIPTION_ALREADY_EXISTS_ERROR_CWSIP0143" , new Object [ ] { subState . getSubscriberID ( ) , subState . getDurableHome ( ) } , null ) ) ; } case DurableConstants . STATUS_SUB_GENERAL_ERROR : { // Problem on other side which should be logged, best we // can do is throw an exception here. if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "createRemoteDurableSubscription" , "SIErrorException" ) ; SibTr . error ( tc , "INTERNAL_MESSAGING_ERROR_CWSIP0001" , new Object [ ] { "com.ibm.ws.sib.processor.impl.DurableInputHandler" , "1:955:1.52.1.1" } ) ; throw new SIErrorException ( nls . getFormattedMessage ( "INTERNAL_MESSAGING_ERROR_CWSIP0001" , new Object [ ] { "com.ibm.ws.sib.processor.impl.DurableInputHandler" , "1:962:1.52.1.1" } , null ) ) ; } } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "createRemoteDurableSubscription" ) ; }
Attempt to create a durable subscription on a remote ME .