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

あなたが見つけた答えは、すべてのキューからメッセージを削除しますが、これは必ずしも望ましいとは限りません。

jboss.mq.destination:name = DLQ; service = Queue mbeanでremoveAllMessages()を呼び出すことにより、jmxを介して同じことを実行することもできます。

または、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 に答える