The JMS CTS can be configured with filters to restrict which tests are
   
     
        run and which are not. This is useful to:
   
     
        
   
    
      
     
          
   
    - 
      
     Help locate problems in a JMS implementation
   
    
- 
      
     Exclude tests that invoke features not supported by an 
   
     
              implementation.
   
     
          
   
    
 
  
    
      
      
        
      
      
    
      
     
        A filter is a simple XML file, containing elements that indicate the
   
     
        tests to include or exclude. Filters can be set for the following:
   
     
        
   
    
      
     
          
   
    - 
      
     Connection factory type
   
    
- 
      
     Session acknowledgement type
   
    
- 
      
     Destination type
   
    
- 
      
     Message delivery mode
   
    
- 
      
     Synchronous or asynchronous message consumers
   
    
- 
      
     Message type
   
    
- 
      
     Test cases
   
    
      
     
        The following example excludes all test cases that use 
   
     
        XAQueueConnectionFactory and XATopicConnectionFactory. 
   
     
        
   
    
      
<filter>
  <exclude>
    <factory>XAQueueConnectionFactory</factory>
  </exclude>
  <exclude>
    <factory>XATopicConnectionFactory</factory>
  </exclude>
</filter>
        
     
  
     
      
   
    
   
    
      
     
        This could also have been written as:
   
     
        
   
    
      
<filter>
  <include>
    <factory>QueueConnectionFactory</factory>
  </include>
  <include>
    <factory>TopicConnectionFactory</factory>
  </include>
</filter>
        
     
  
     
      
   
    
   
     
  
    
      
      
        
      
      
    
      
     
        Test cases can be filtered on more than one criteria. The following 
   
     
        example exc
   
     ludes all tests using NON_PERSISTENT message delivery mode,
   
     
        and administered destinations.
   
     
        
   
    
      
<filter>
  <exclude>
    <destination>administered</destination>
    <deliveryMode>NON_PERSISTENT</deliveryMode>
  </exclude>
</filter>
        
     
  
     
      
   
    
   
    
      
     
        
   
    
      
     Note:
   
    
   
      the above does not exclude test cases using administered 
   
     
        destinations 
   
    
      
     and
   
    
   
      PERSISTENT delivery mode.
   
     
      
   
    
   
     
  
    
      
      
        
      
      
    
      
     
        To run the JMS CTS with a filter, specify the 
   
    
      
     -filter
   
    
   
      
   
     
        argument. E.g:
   
     
      
   
    
   
    
      
     
        
   
    
      
     Windows
   
    
   
     
        
   
    
      
> jmscts.bat run -filter filter.xml
        
     
  
     
      
   
    
   
    
      
     
        
   
    
      
     Unix
   
    
   
     
        
   
    
      
> jmscts.sh run -filter filter.xml
        
     
  
     
      
   
    
   
     
  
    
      
      
        
      
      
    
      
     
        The following elements may be set in an 
   
     
        
   
    
      
     <
   
     include
   
     >
   
    
   
      or 
   
    
      
     <
   
     exclude
   
     >
   
    
   
      
   
     
        filter:
   
     
        
   
    
      
     
          
   
    - 
      
    
      
     factory
   
    
   
     
            
   
    
      
     
              The 
   
    
      
     <
   
     factory
   
     >
   
    
   
      element specifies the 
   
     
              type of connection factory (i.e. javax.jms.ConnectionFactory) to 
   
     
              filter. Valid values for this element are:
   
     
              
   
     
      
     
                
   
    - 
      
     QueueConnectionFactory
   
    
- 
      
     TopicConnectionFactory
   
    
- 
      
     XAQueueConnectionFactory
   
    
- 
      
     XATopicConnectionFactory
   
    
 Eg:
      
<filter>
  <exclude>
    <factory>TopicConnectionFactory</factory>
  </exclude>
</filter>
              
 
- 
      
    
      
     session
   
    
   
     
            
   
    
      
     
              The 
   
    
      
     <
   
     session
   
     >
   
    
   
      element specifies t
   
     he 
   
     
              type of session message acknowledgement behaviour to filter. 
   
     
              Valid values for this element are:
   
     
              
   
     
      
     
                
   
    - 
      
     TRANSACTED
   
    
- 
      
     AUTO_ACKNOWLEDGE
   
    
- 
      
     DUPS_OK_ACKNOWLEDGE
   
    
- 
      
     CLIENT_ACKNOWLEDGE
   
    
 
- 
      
    
      
     destination
   
    
   
     
            
   
    
      
     
              The 
   
    
      
     <
   
     destination
   
     >
   
    
   
      element specifies the 
   
     
              type of destination to filter. Valid values for this element
   
     
              are:
   
     
              
   
     
- 
      
    
      
     deliveryMode
   
    
   
     
            
   
    
      
     
              The 
   
    
      
     <
   
     deliveryMode
   
     >
   
    
   
      element specifies the
   
     
              type of message delivery mode to filter (as specified by 
   
     
              javax.jms.DeliveryMode).
   
     
              Valid values for this element are:
   
     
              
   
     
      
     
                
   
    - 
      
     PERSISTENT
   
    
- 
      
     NON_PERSISTENT
   
    
 
- 
      
    
      
     receiver
   
    
   
     
            
   
    
      
     
              The 
   
    
      
     <
   
     receiver
   
     >
   
    
   
      element specifies the 
   
     
              type of message receiver to filter. Valid values for this 
   
     
              element are:
   
     
              
   
     
      
     
                
   
    - 
      
     asynchronous 
   
    
      
     - specifies asynchonous message receipt
   
    
   
     
                
   
    
- 
      
     synchronous 
   
    
      
     - specifies synchronous message receipt
   
    
   
     
                
   
    
- 
      
     asynchronous_durable 
   
    
      
     - specifies asynchronous message 
   
     
                  receipt by durable topic subscribers
   
    
   
     
                
   
    
- 
      
     synchronous_durable 
   
    
      
     - specifies synchronous message 
   
     
                   receipt by durable topic subscribers
   
    
   
     
                
   
    
- 
      
     browser 
   
    
      
     - speci
   
     fies queue browser receipt
   
    
   
    
 
- 
      
    
      
     message
   
    
   
     
            
   
    
      
     
              The 
   
    
      
     <
   
     message
   
     >
   
    
   
      element specifies the 
   
     
              type of message (i.e. javax.jms.Message) to filter. 
   
     
              Valid values for this element are:
   
     
              
   
     
      
     
                
   
    - 
      
     BytesMessage
   
    
- 
      
     MapMessage
   
    
- 
      
     ObjectMessage
   
    
- 
      
     StreamMessage
   
    
- 
      
     TextMessage
   
    
 
- 
      
    
      
     test
   
    
   
     
            
   
    
      
     
              The 
   
    
      
     <
   
     test
   
     >
   
    
   
      element specifies a fully 
   
     
              qualified test case name, without any brackets.