Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerIBM MQ 用 Anypoint Connector (IBM MQ Connector) のトラブルシューティングを行うには、冗長ログの有効化、肯定応答の問題のトラブルシューティング、MQ の停止したコンシュームメッセージのトラブルシューティング、バインディングモードの使用時の再デプロイメントエラーのトラブルシューティング、一般的なスローメッセージの解釈に関する情報を理解しておいてください。
場合によって、アプリケーションが失敗した理由が不明で、アプリケーションの MQ サーバーとのインタラクションで何が起こっているかについて理解を深める必要があることもあります。
詳細なログを収集する手順は、次のとおりです。
設定ファイルを使用して、サーバー側のログレベルを引き上げます。
JMS Connector と MQ パッケージの冗長ログを有効にします。
Anypoint Studio にアクセスし、[Package Explorer] ビューに移動します。
アプリケーションのプロジェクト名を開きます。
src/main/resources
パスフォルダーを開きます。
フォルダー内の log4j2.xml
ファイルを開きます。
次の行がすでに log4j2.xml
ファイル内にある場合は、そのコメントを解除して有効にします。それ以外の場合、次の行を追加します。
<AsyncLogger name="com.mulesoft.connectors.ibmmq" level="DEBUG"/>
<AsyncLogger name="org.mule.jms.commons" level="DEBUG"/>
xml
メッセージの肯定応答に関してアプリケーションの設定に矛盾が生じる理由はいくつか考えられます。 アプリケーションのセッション肯定応答は次のように設定できます。
IMMEDIATE
AUTO
MANUAL
DUPS_OK
セッション肯定応答を IMMEDIATE に設定すると、メッセージは受信されると直ちに肯定応答されます。IMMEDIATE 肯定応答を Ack または Recovery session 操作と組み合わせないでください。
セッション肯定応答を AUTO に設定すると、イベントが完了したときに On New Message ソースで肯定応答が制御されるか、イベントの処理中にエラーが発生した場合はセッションが回復します。AUTO 肯定応答のアプリケーションで手動肯定応答またはセッション回復を追加すると、チャネルで操作が重複します。
セッション肯定応答を MANUAL または DUPS_OK に設定する場合は、フロー実行のすべてのパスでメッセージ肯定応答またはセッション回復を取得することを確認してください。確認しなかった場合、メッセージがリークし、作業単位の最大深度に達したときにコンシューマーが無応答になる可能性があります。
この問題を解決する手順は、次のとおりです。
フローデザインを詳しく調べて、すべてのメッセージが肯定応答されるか、セッションが回復することを確認してください。
通常、MQ の停止したコンシュームメッセージは肯定応答されていない大量のメッセージに関連しています。Mule アプリケーションに On New Message ソースまたは Consume 操作とメッセージの手動肯定応答があり、メッセージのすべてのパスに適切な肯定応答またはセッション回復設定があるわけではない場合、Mule アプリケーションでコンシューマーが無応答になる場合があります。
このエラーを解決する手順は、次のとおりです。
ブローカー側で肯定応答されていないメッセージの深度をチェックし、アプリケーションロジックを確認します。
接続にバインディングモードを使用している場合、ドライバーは JNI リソースを読み込みます。JNI リソースは一度しか読み込めないため、アプリケーションを再デプロイすると、エラーがスローされます。
このエラーを解決する手順は、次のとおりです。
ドメインレベルでドライバー連動関係を追加します。これにより、アプリケーションの再デプロイメントが可能になります。
次に、一般的なスローメッセージとその解釈方法のリストを示します。
IBM-MQ:ACK
処理中のメッセージの肯定応答のコンテキストでエラーが発生しました。
IBM-MQ:CONNECTIVITY
接続が有効ではなくなりました。破棄されますが、アプリケーションの設定で定義されている場合、再接続ポリシーを適用できます。
IBM-MQ:CONSUMING
WMQ からのメッセージのコンシューム中にエラーが発生しました。このエラーは保留中のメッセージが存在していないことに関連している場合もあります。
IBM-MQ:DESTINATION_NOT_FOUND
IBM MQ Connector が宛先を発見または作成できません。
IBM-MQ:RETRY_EXHAUSTED
操作の最大再試行回数に達しました。
IBM-MQ:SECURITY
セキュリティ関連のエラーが原因でスローされた例外。
IBM-MQ:TIMEOUT
要求された操作のタイムアウトを超えました。
IBM-MQ:ILLEGAL_BODY
メッセージ本文が無効であり、サポートされる種別に変換できません。
IBM-MQ:PUBLISHING
対象キューまたはトピックへのパブリッシュ中にエラーが発生しました。