public void setConsumerActive(boolean active)
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "setConsumerActive", active);
    if(active)
    {
      consumerThreadID = Thread.currentThread().getId();
    }
    else
    {
      consumerThreadID = 0;
    }
    consumerThreadActive = active;

    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.exit(tc, "setConsumerActive", consumerThreadID);
  }
public void setConsumerActive ( boolean active ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . entry ( tc , "setConsumerActive" , active ) ; if ( active ) { consumerThreadID = Thread . currentThread ( ) . getId ( ) ; } else { consumerThreadID = 0 ; } consumerThreadActive = active ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEntryEnabled ( ) ) SibTr . exit ( tc , "setConsumerActive" , consumerThreadID ) ; }
We only want to remember the result of a filter match if it is called as a result of a consumer
asking for a message. The consumer indicates that it is asking for a message by calling this
method with active set to true. After the consumer has got it's message it should call again
with active false.

This is because the filterMatches method can get called at any time by threads other than the
consumers' thread. Previously, if this happened while the consumer was trying to get a message,
the match results were lost or changed.

@param active