I have a java application running on JBoss 7.1. It is using more than 20 JMS-queues.
My configuration to setup the JMS queues:
<jms-queue name="MX.EQ.DT.MT.OUT">
<entry name="queue/MX.EQ.DT.MT.OUT"/>
<entry name="java:jboss/exported/jms/queue/MX.EQ.DT.MT.OUT"/>
</jms-queue>
<jms-queue name="MX.EQ.DS.XML.OUT">
<entry name="queue/MX.EQ.DS.XML.OUT"/>
<entry name="java:jboss/exported/jms/queue/MX.EQ.DS.XML.OUT"/>
</jms-queue>
Now, I want to configure the dead letter queue for above two queues. What value would I have to use for the match?
I can not use #
, because it will be applicable to all JMS queues, but I only want the two.
<address-setting match="jms.queue.MX.EQ.*.*.OUT">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<max-size-bytes>10485760</max-size-bytes>
<address-full-policy>BLOCK</address-full-policy>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
</address-setting>
Also is there anyway to push back the message from dead letter queue to originating queue?
I am using hornet queue version 2.2.13 and want to use the wild card as MX.EQ.*.*.OUT
.
If I put *
or #
in between the characters, the server throws an exception during boot.
According Understanding the HornetQ Wildcard Syntax:
In your configuration you could use the wilcard
*
, but in JBoss 7.1.1 the cofiguration parser throws a exception when you put a value with character*
.The error is similar to:
The same problem occurs when you use a space in the value, this problem is described in: Logger category cannot have spaces
Now one option is update to JBoss 7.1.2 or higher, or create a different nomenclature for the name of queues, for example:
and
address-setting
:The wilcard
#
only can be use at the end of the match.