public void removeSelectionCriteria(SelectionCriteria selCriteria) 
    throws SIResourceException
    {

      if (tc.isEntryEnabled())
        SibTr.entry(tc, "removeSelectionCriteria", 
          new Object[] { selCriteria });
      
      // If the selection criteria was removed then this is an indication that it was
      // in the matchspace and it can be removed.
      boolean wasRemoved = 
        _consumerDispatcher.getConsumerDispatcherState().removeSelectionCriteria(selCriteria);      
      
      if (wasRemoved)
      {
        Transaction tran = _messageProcessor.getTXManager().createAutoCommitTransaction();
        if( !_consumerDispatcher.getReferenceStream().isUpdating() )
        {
          try 
          {
            _consumerDispatcher.getReferenceStream().requestUpdate(tran);
          } 
          catch (MessageStoreException e) 
          {
            // MessageStoreException shouldn't occur so FFDC.
            FFDCFilter.processException(
            e,
            "com.ibm.ws.sib.processor.impl.MPSubscriptionImpl.removeSelectionCriteria",
            "1:203:1.6",
            this);
    
            // Add the criteria back into the list as the remove failed.
            _consumerDispatcher.getConsumerDispatcherState().addSelectionCriteria(selCriteria);
            
            SibTr.exception(tc, e);
            if (tc.isEntryEnabled()) SibTr.exit(tc, "removeSelectionCriteria", "SIResourceException");
            throw new SIResourceException(e);
              
          }
        }
  
        // Remove the criteria from the matchspace
        _messageProcessor
         .getMessageProcessorMatching()
         .removeConsumerDispatcherMatchTarget(
          _consumerDispatcher,
          selCriteria );
      }
        
      if (tc.isEntryEnabled())
        SibTr.exit(tc, "removeSelectionCriteria"); 
   
    }
public void removeSelectionCriteria ( SelectionCriteria selCriteria ) throws SIResourceException { if ( tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "removeSelectionCriteria" , new Object [ ] { selCriteria } ) ; boolean wasRemoved = _consumerDispatcher . getConsumerDispatcherState ( ) . removeSelectionCriteria ( selCriteria ) ; if ( wasRemoved ) { Transaction tran = _messageProcessor . getTXManager ( ) . createAutoCommitTransaction ( ) ; if ( ! _consumerDispatcher . getReferenceStream ( ) . isUpdating ( ) ) { try { _consumerDispatcher . getReferenceStream ( ) . requestUpdate ( tran ) ; } catch ( MessageStoreException e ) { FFDCFilter . processException ( e , "com.ibm.ws.sib.processor.impl.MPSubscriptionImpl.removeSelectionCriteria" , "1:203:1.6" , this ) ; _consumerDispatcher . getConsumerDispatcherState ( ) . addSelectionCriteria ( selCriteria ) ; SibTr . exception ( tc , e ) ; if ( tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "removeSelectionCriteria" , "SIResourceException" ) ; throw new SIResourceException ( e ) ; } } _messageProcessor . getMessageProcessorMatching ( ) . removeConsumerDispatcherMatchTarget ( _consumerDispatcher , selCriteria ) ; } if ( tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "removeSelectionCriteria" ) ; }
Remove a selection criteria from the subscription