2016-11-30 1 views
0

TIBCO EMSでメッセージを公開しようとしています。少数のメッセージを処理した後、自動的にこのエラーが発生し、処理が停止します。しばらくしてから、私は約10Kのメッセージを処理することができます。ここに私が得ているエラーがあります。TIBCOこのコンシューマに無効なメッセージを確認しようとしました。

2016-11-30 13:39:31,170 ERROR c.b.e.d.AckMessageListenerController - Listener for Queue[TEST.DEV.QUE] throwed an exception, closing session to avoid possible message loss 
javax.jms.IllegalStateException: Attempt to acknowledge message(s) not valid for this consumer 
+0

このシナリオは、同じセッションでキューの受信者が2つだけであることを示しますか? – skanda

+0

このシナリオでは、このキューの接続が古くなっていますか? – skanda

答えて

0

このキューの消費者数を確認します。 このエラーは、あなたのためではないこのメッセージを確認しようとしていることを示しています。 プロセスはどのチェックポイントからも開始されていますか?

+0

メッセージは同じサーバーによって生成され、消費されます。我々は、2つの異なるアプリケーション層の間で通信するこの設計を持っています。私がキューのプロパティをチェックすると、flowcontrolがないことがわかりました。満了プロパティが設定されています。したがって、メッセージがコンシューマによって消費される前にキューで期限切れになるシナリオが存在します。これは有効なシナリオでしょうか? – skanda

+0

私たちは、確認モードとしてCLIENT_ACKを使用しています。プロデューサーがメッセージを急速にプッシュし、消費者がメッセージを非常にゆっくりと送信するときの良い習慣は何でしょうか(消費者側のコードでは間違いなくリークを示していますが) – skanda

関連する問題