4

我正在使用 Jboss 7.1.1.final,我想定义 2 个不同的 DLQ,一个用于某个队列,另一个用于所有其余队列。

我找到了这个配置:

<address-settings>
   <address-setting match="jms.queue.exampleQueue">
      <dead-letter-address>jms.queue.deadLetterQueue</dead-letter-address>
      <max-delivery-attempts>3</max-delivery-attempts>
      <redelivery-delay>5000</redelivery-delay>
      <expiry-address>jms.queue.expiryQueue</expiry-address>
      <last-value-queue>true</last-value-queue>        
      <max-size-bytes>100000</max-size-bytes>
      <page-size-bytes>20000</page-size-bytes>
      <redistribution-delay>0</redistribution-delay>
      <send-to-dla-on-no-route>true</send-to-dla-on-no-route>
      <address-full-policy>PAGE</address-full-policy>
   </address-setting>
</address-settings>

match 属性可以用来匹配某个队列,我有几个关于这个配置的问题:

  1. 如果我定义 2 address-setting,一个用通配符匹配所有,一个只匹配一个队列,那么一个队列定义是否优先?我需要把它放在匹配所有定义之前还是没关系?
  2. 在他们匹配队列的示例中jms.queue.exampleQueue,我将队列定义为:

    <jms-queue name="MissionResult">
        <entry name="queue/MissionResult"/>
    </jms-queue>
    

    我应该在match属性中添加什么以匹配它?

4

1 回答 1

5

找到了答案:

  1. 这两个定义可以共存。Jboss 会找到最佳匹配。
  2. 您需要定义一个队列,如:

    <jms-queue name="exampleQueue">
       <entry name="queue/exampleQueue" />
    </jms-queue>
    

    然后要匹配此队列,请使用jms.queue.exampleQueue.

于 2012-08-01T14:07:03.327 回答