出力エンドポイントがダウンしているときに、Active MQ JMS インバウンド エンドポイントでサスペンドのような動作が必要な状況があります。キューからのメッセージを処理しないようにします。その後、出力エンドポイントがアップしたら、キューのフェッチ操作を再開したいと思います。これはミュールで可能ですか?はいの場合、どのように?
1 に答える
1
次のようなことができるはずです。
Connector connector = muleRegistry.lookupConnector(connectorName);
connector.stop();
ただし、メッセージの損失が気になる場合、これは実際には単純な解決策ではありません。コネクタがダウンするまでにはしばらく時間がかかり、これらのケースを慎重に処理しないと、この「停止」をトリガーした手元のメッセージが失われる可能性があります。
別のオプションがあります。他のリソースがほんの少しだけダウンしているとします。JMS トランザクションを使用してメッセージをキューにロールバックし (出力エンドポイントが失敗した場合)、トランザクションを再試行し、以上。
于 2012-06-21T20:53:16.960 に答える