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

Details

    • False
    • 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).

    Description

      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="#">.

      Attachments

        Activity

          People

            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

            Dates

              Created:
              Updated:
              Resolved: