有谁知道如何从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里面......?
有人能帮忙吗?
提前感谢。
答案 0 :(得分:1)
您找到的答案将从所有队列中删除邮件,这并不总是可取的。
你也可以通过在jboss.mq.destination上调用removeAllMessages()来完成相同的操作:name = DLQ; service = Queue mbean。
或者您可以根本不需要手动刷新DLQ - 在conf / jboss-service.xml中,将<TimeToLive>86400000</TimeToLive>
添加到<DLQConfig>
元素。这将在1天后过期。
答案 1 :(得分:1)
如果你要通过SQL解决它,至少要确保队列当时没有绑定并将其限制为死信队列,如下所示:
delete from jms_messages where destination = 'DLQ';
答案 2 :(得分:0)
解决:有一个jbossdb数据库:
delete FROM jms_messages ;