2

有谁知道如何从 jBoss 中清除 DeadLetterQueue?当我启动 jBoss 时,它在等待 4 分钟:

12:09:06,281 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'

和其他 4 分钟:

 [DLQ] () Bound to JNDI name: queue/DLQ

而且我认为可能我必须清除此队列..但它不在 jBoss 内...?

有人可以帮忙吗?

提前致谢。

4

3 回答 3

2

您找到的答案将从所有队列中删除消息,这并不总是可取的。

您也可以通过 jmx 完成相同的操作,方法是在 jboss.mq.destination:name=DLQ;service=Queue mbean 上调用 removeAllMessages()。

或者您可以完全消除手动刷新 DLQ 的需要——在 conf/jboss-service.xml 中,添加<TimeToLive>86400000</TimeToLive><DLQConfig>元素中。这将使消息在 1 天后过期。

于 2010-01-04T20:04:38.703 回答
1

如果您要通过 SQL 解决它,至少要确保队列当时是未绑定的,并将其限制为死信队列,如下所示:

delete from jms_messages where destination = 'DLQ';
于 2010-07-01T14:09:54.590 回答
0

已解决:有一个jbossdb数据库:

delete  FROM jms_messages ;
于 2010-01-04T10:46:32.283 回答