Очистить JBoss DLQ

Кто-нибудь знает, как очистить DeadLetterQueue от jBoss? Когда я запускаю 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...?

Кто-нибудь может помочь?

заранее спасибо.

3 ответа

Решение

Ответ, который вы нашли, удалит сообщения из всех очередей, что не всегда желательно.

Вы также можете сделать то же самое с помощью jmx, вызвав removeAllMessages() для jboss.mq.destination:name=DLQ;service=Queue mbean.

Или вы можете полностью исключить необходимость ручной очистки DLQ - в conf/jboss-service.xml добавьте <TimeToLive>86400000</TimeToLive> к <DLQConfig> элемент. Срок действия сообщений истечет через 1 день.

Если вы собираетесь решить эту проблему с помощью SQL, по крайней мере, убедитесь, что очереди не связаны в данный момент, и ограничьте ее до очереди недоставленных писем следующим образом:

delete from jms_messages where destination = 'DLQ';

Решено: Есть база данных jbossdb:

delete  FROM jms_messages ;
Другие вопросы по тегам