7

TIBCO Ems キューにメッセージを送信しようとすると、例外が発生します (以下を参照)。

 javax.jms.ResourceAllocationException: Queue limit exceeded
 at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:523)
 at com.tibco.tibjms.TibjmsxSessionImp._publish(TibjmsxSessionImp.java:1390)
 at com.tibco.tibjms.TibjmsMessageProducer._publish(TibjmsMessageProducer.java:246)
 at com.tibco.tibjms.TibjmsQueueSender.send(TibjmsQueueSender.java:51)

この例外について話しているのを見た唯一の場所は、次のリンクです: http://class10e.com/tibco/a-queue-is-defined-as/

ここから、メッセージを送信する前に、キューごとに少なくとも 1 つのコンシューマーが必要であると推測できました。コンシューマーを作成すると機能しましたが、最大で約 5 つか 6 つのメッセージしかありませんでした。奇妙なのは、テストするたびにキューを空にして、まったく同じテキスト メッセージを送信しているため、サイズの違いがないことです。5 回のメッセージの後、場合によっては 6 回のメッセージの後に失敗することがあるのはなぜですか? 最初にキューを空にした後、メッセージを消費していません (コンシューマーを作成しましたが、Eclipse デバッグを使用してメッセージ コンシューマーのスレッドを一時停止しました)。この例外の原因を知っている人はいますか?

4

4 に答える 4

0

このコマンドを使用して、EMS 管理ツールからキュー サイズを作成します。

setprop queue queue-name maxmsgs=10000

setprop queue queue-name maxbytes=1024MB

于 2016-04-08T23:37:23.410 に答える