Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-6695

expiry-delay is not applied when a more specific matching is defined

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      Steps:

      1. Setting expiry-delay in element <address-setting match="#"> in broker.xml:

         <address-setting match="#">
             ...
             <expiry-delay>40000</expiry-delay><!-- 40 seconds -->
             ...
         </address-setting>

      2. Setting property not equal to expiry-delay in specific match  in broker.xml:

         <address-setting match="queueExample">
            <max-size-bytes>12428800</max-size-bytes>
         </address-setting>

      3. Restart AMQ broker for settings to take effect.
      4. Produce a message to the test queue (queueExample in this example) with the default expiration time.
      4. Access AMQ Broker console to check messages never expire in the test queue (queueExample in this example).

      Show
      Steps: 1. Setting expiry-delay in element <address-setting match="#"> in broker.xml :    <address-setting match= "#" > ...        <expiry-delay> 40000 </expiry-delay> <!-- 40 seconds --> ...   </address-setting> 2. Setting property not equal to expiry-delay in specific match  in broker.xml :    <address-setting match= "queueExample" >       <max-size-bytes> 12428800 </max-size-bytes>    </address-setting> 3. Restart AMQ broker for settings to take effect. 4. Produce a message to the test queue ( queueExample in this example) with the default expiration time. 4. Access AMQ Broker console to check messages never expire in the test queue ( queueExample in this example).

      Setting expiry-delay as default in element <address-setting match="#"> doesn't work if we set another property different from expiry-delay and don't set expiry-delay in a specific match.

      Test 1 - KO 

      Expiry-delay is setting in element <address-setting match="#"> in broker.xml:

         <address-setting match="#">
             ...
             <expiry-delay>40000</expiry-delay><!-- 40 seconds -->
             ...
        </address-setting>

      Setting property not equal to expiry-delay in specific match in broker.xml:

         <address-setting match="queueExample">      
            <max-size-bytes>12428800</max-size-bytes>
         </address-setting>

      Expected result: When we send a message to the queueExample queue using the default expiration time (0 meaning don't expire) the broker changes the expiration time to 40 seconds 

      Actual result:  When we send a message to the queueExample queue using the default expiration time (0 meaning don't expire), the broker doesn't change the expiration time to 40 seconds. Message never expire 

      Test2 - OK

      Expiry-delay is setting in element <address-setting match="#"> in broker.xml:

         <address-setting match="#">
             ...
             <expiry-delay>40000</expiry-delay><!-- 40 seconds -->
             ...
        </address-setting>

      Setting property expiry-delay in specific match in broker.xml:

         <address-setting match="queueExample">
           <expiry-delay>60000</expiry-delay><!-- 60 seconds -->
         </address-setting>

      Expected result: When we send a message to the queueExample queue  using the default expiration time (0 meaning don't expire), the broker changes the expiration time to 60 seconds because a specific match override setting in element <address-setting match="#">.

      Actual result:  When we send a message to the queueExample queue  using the default expiration time (0 meaning don't expire), the broker changes the expiration time to 60 seconds because specific match override setting in element <address-setting match="#">.

      Test 3 - OK

      expiry-delay is setting in element <address-setting match="#"> in broker.xml:

         <address-setting match="#">
             ...
             <expiry-delay>40000</expiry-delay><!-- 40 seconds -->
             ...
        </address-setting>

      Specific match for queueExample doesn't exist in broker.xml

      Expected result: When we send a message to the queueExample queue  using the default expiration time (0 meaning don't expire), the broker changes the expiration time to 40 seconds using a setting in element <address-setting match="#">.

      Actual result:  When we send a message to the queueExample queue  using the default expiration time (0 meaning don't expire), the broker changes the expiration time to 40 seconds using a setting in element <address-setting match="#">.

              rhn-support-jbertram Justin Bertram
              ajimenme Alberto Jimenez Melero (Inactive)
              Samuel Gajdos Samuel Gajdos
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: