code: public void updateDefinition(BaseDestinationDefinition destinationDefinition)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "updateDefinition", new Object[] {destinationDefinition});
        
      DestinationDefinition oldDefinition = definition;
      DestinationDefinition newDefinition = (DestinationDefinition) destinationDefinition;
        
      // Reset values to force a reload on first reference
      _maxFailedDeliveries = -1;
      _blockedRetryInterval = -1;
      
      if (!isPubSub() && ((oldDefinition == null) ||
          (oldDefinition.isReceiveExclusive() != newDefinition.isReceiveExclusive())))
      {
        // notify the AnycastOutputHandler, *before* throwing off all consumers. 
        // If this is not done, AnycastOutputHandler could
        // create a new consumer before knowing the change in the receiveExclusive value which is not good!
        notifyAOHReceiveExclusiveChange(newDefinition.isReceiveExclusive());
  
        //throw off all consumers attached through this destination
        ConsumerDispatcher cm = (ConsumerDispatcher)getLocalPtoPConsumerManager();
        if (cm != null)
        {
          cm.closeAllConsumersForReceiveExclusive();
        }
        
        // notify the RME RemoteConsumerDispatchers that the receiveExlusive value has changed
        notifyRCDReceiveExclusiveChange(newDefinition.isReceiveExclusive());
      }
      
      // definition must be updated before notifying consumer dispatcher(s) of update 
      definition = (DestinationDefinition) destinationDefinition;           
  
      if ((oldDefinition == null) ||
          (oldDefinition.isReceiveAllowed() != newDefinition.isReceiveAllowed()))
      {    
        _isReceiveAllowed = newDefinition.isReceiveAllowed();
        
        notifyReceiveAllowed(this);
        
        //Tell any aliases that inherit the receive allowed value from this
        //destination that the value has changed.
        notifyTargettingAliasesReceiveAllowed();
  
      }    
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "updateDefinition");
    }
docs: /* (non-Javadoc)
  @see com.ibm.ws.sib.processor.impl.interfaces.DestinationHandler#updateDefinition(com.ibm.ws.sib.admin.DestinationDefinition)