在JBoss 7.1中为多个JMS队列配置相同的死信队列

在JBoss 7.1中为多个JMS队列配置相同的死信队列,jms,jboss7.x,dead-letter,Jms,Jboss7.x,Dead Letter,我有一个java应用程序在JBoss7.1上运行。它使用了20多个JMS队列 设置JMS队列的配置: 现在,我想为上述两个队列配置死信队列。我必须为比赛使用什么值 我不能使用#,因为它将适用于所有JMS队列,但我只需要这两个队列 jms.queue.DLQ jms.queue.ExpiryQueue 0 10485760 块 10 另外,是否还有将消息从死信队列推回到原始队列的方法 我使用的是hornet queue 2.2.13版,希望使用通配符作为MX.EQ.*.OUT。 如果我将*

我有一个java应用程序在JBoss7.1上运行。它使用了20多个JMS队列

设置JMS队列的配置:


现在,我想为上述两个队列配置死信队列。我必须为比赛使用什么值

我不能使用
#
,因为它将适用于所有JMS队列,但我只需要这两个队列


jms.queue.DLQ
jms.queue.ExpiryQueue
0
10485760
块
10
另外,是否还有将消息从死信队列推回到原始队列的方法

我使用的是hornet queue 2.2.13版,希望使用通配符作为
MX.EQ.*.OUT
。 如果我将
*
#
放在字符之间,则服务器在引导过程中抛出异常。

根据:

HornetQ通配符表达式包含由 字符
(句号)

特殊字符
“#”
“*”
也有特殊的含义和含义 可以代替一个词。
字符
“#”的意思是“匹配零个或多个单词的任意序列”。
字符
“*”
表示“匹配单个单词”

所以通配符
'news.europe.#'
将与
'news.europe'
匹配,
“新闻.欧洲.体育”
“新闻.欧洲.政治”
,以及
'news.european.politics.regional'
但与
'news.usa'
不匹配,
'news.usa.sport'
'entertainment'

通配符
'news.*'
将匹配
'news.europe'
,但不匹配
“新闻.欧洲.体育”

通配符
'news.*.sport'
将匹配
'news.europe.sport'
和 同样是
'news.usa.sport'
,但不是
'news.europe.politics'

在您的配置中,您可以使用wilcard
*
,但在JBoss 7.1.1中,当您使用字符
*
输入值时,联合配置解析器会引发异常

错误类似于:

JBAS015956: Caught exception during boot: org.jboss.as.controller.PathElement$OperationClientIllegalArgumentException: JBAS014719: Invalid value specification
在值中使用空格时也会出现相同的问题,此问题在中进行了描述:

现在,一个选项是更新到JBoss 7.1.2或更高版本,或者为队列名称创建不同的术语,例如:

<jms-queue name="group1.q1">
    <entry name="queue/group1.q1"/>
    <entry name="java:jboss/exported/jms/queue/group1.q1"/>
</jms-queue>
<jms-queue name="group1.q2">
    <entry name="queue/group1.q2"/>
    <entry name="java:jboss/exported/jms/queue/group1.q2"/>
</jms-queue>
wilcard
#
只能在比赛结束时使用

<address-setting match="group1.#">
    <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>