protected static ControlCreateStream createDurableCreateStream ( MessageProcessor MP , ConsumerDispatcherState subState , long reqID , SIBUuid8 dme ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "createDurableCreateStream" , new Object [ ] { MP , subState , new Long ( reqID ) , dme } ) ; ControlCreateStream msg = null ; try { // Create and initialize the message msg = MessageProcessor . getControlMessageFactory ( ) . createNewControlCreateStream ( ) ; initializeControlMessage ( MP . getMessagingEngineUuid ( ) , msg , dme ) ; // Parameterize for CreateStream msg . setRequestID ( reqID ) ; msg . setDurableSubName ( subState . getSubscriberID ( ) ) ; msg . setGuaranteedTargetDestinationDefinitionUUID ( subState . getTopicSpaceUuid ( ) ) ; SelectionCriteria criteria = subState . getSelectionCriteria ( ) ; //check for null values for MFP - defect 251989 //the discriminator if ( criteria == null || criteria . getDiscriminator ( ) == null ) { msg . setDurableDiscriminator ( null ) ; } else { msg . setDurableDiscriminator ( criteria . getDiscriminator ( ) ) ; } //the selector if ( criteria == null || criteria . getSelectorString ( ) == null ) { msg . setDurableSelector ( null ) ; } else { msg . setDurableSelector ( subState . getSelectionCriteria ( ) . getSelectorString ( ) ) ; } //the selector domain if ( criteria == null || criteria . getSelectorDomain ( ) == null ) { msg . setDurableSelectorDomain ( SelectorDomain . SIMESSAGE . toInt ( ) ) ; } else { msg . setDurableSelectorDomain ( criteria . getSelectorDomain ( ) . toInt ( ) ) ; } //defect 259036 msg . setCloned ( subState . isCloned ( ) ) ; msg . setNoLocal ( subState . isNoLocal ( ) ) ; msg . setSecurityUserid ( subState . getUser ( ) ) ; // Set the flag that signals whether this is // the privileged SIBServerSubject. msg . setSecurityUseridSentBySystem ( subState . isSIBServerSubject ( ) ) ; } catch ( Exception e ) { FFDCFilter . processException ( e , "com.ibm.ws.sib.processor.impl.DurableInputHandler.createDurableCreateStream" , "1:372:1.52.1.1" , DurableInputHandler . class ) ; SibTr . exception ( tc , e ) ; } if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "createDurableCreateStream" , msg ) ; return msg ; }
Create a CreateStream request for an existing durable connection .