Aggregators Module のトラブルシューティング - Mule 4

Aggregators Module のトラブルシューティングを行うには、アプリケーションログに関する情報を理解し、冗長ログを有効にし、一般的なスローメッセージを解釈します。

最新の Aggregators Module バージョンの使用

確実に最新のパッチを使用するには、Aggregator Module を最新バージョンに更新します。Anypoint Studio によって生成される Apache Maven ​pom.xml​ ファイルでは、最新バージョンに対応するバージョンで ​x.x.x​ が置き換えられます。

<dependency>
  <groupId>org.mule.modules</groupId>
  <artifactId>mule-aggregators-module</artifactId>
  <version>x.x.x</version>
  <classifier>mule-plugin</classifier>
</dependency>
xml

最新の ​pom.xml​ ファイル情報を取得する手順は、次のとおりです。

  1. Anypoint ExchangeLeaving the Site​ に移動します。

  2. Exchange で、​[Login (ログイン)]​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。

  3. Exchange で、「​aggregators​」を検索します。

  4. コネクタを選択します。

  5. 画面の右上付近にある ​[Dependency Snippets (連動関係スニペット)]​ をクリックします。

冗長ログの有効化

Aggregator Module のトラブルシューティングを開始するには、冗長ログを有効にして正確なエラーメッセージを表示します。

  1. Anypoint Studio にアクセスし、​[Package Explorer]​ ビューに移動します。

  2. アプリケーションのプロジェクトを開きます。

  3. src/main/resources​ パスフォルダーを開きます。

  4. フォルダー内の ​log4j2.xml​ ファイルを開きます。

  5. 次の行がすでに ​log4j2.xml​ ファイル内にある場合は、そのコメントを解除して有効にします。それ以外の場合、次の行を追加します。

    <AsyncLogger name="org.mule.extension.aggregator" level="DEBUG"/>
    xml
  6. 変更を保存します。

  7. Package Explorer​ でプロジェクト名をクリックし、​[Run (実行)]​ > ​[Run As (別のユーザーとして実行)]​ > ​[Mule Application (Mule アプリケーション)]​ をクリックします。

  8. [Console (コンソール)]​ ビューに移動し、ロガーのメッセージを参照します。

サイズベースのアグリゲーターでのタイムアウト動作の理解

[Size based aggregator (サイズベースのアグリゲーター)]​ スコープでは、​[Timeout (タイムアウト)]​ 項目は集約が完了するのを待機する最大時間を示します。要素の合計数が ​[Max size (最大サイズ)]​ 項目で設定された値に達する前にタイムアウトすると、集約は完了とみなされず、リセットされます。​[Aggregator listener (アグリゲーターリスナー)]​ ソースを使用して、タイムアウトの発生前に集約された要素を取得することができます。 タイムアウト動作についての詳細は、​「サイズベースのアグリゲーターのタイムアウト項目と最大サイズ項目の設定」​を参照してください。

複数のワーカーが設定されていないことを確認

CloudHub ではクラスタリングを使用できないため、アグリゲーターは複数のワーカーおよび永続的なオブジェクトストアでは機能しません。アプリケーションを拡大し、高可用性を提供するためにワーカーを共有または二重化する方法についての詳細は、​「CloudHub Fabric」​ドキュメントを参照してください。

一般的なスローの理解

ここでは、一般的なスローメッセージとその解決方法を示します。

サイズベースのアグリゲーター​の場合:

  • AGGREGATORS:AGGREGATOR_CONFIG

    [Max size (最大サイズ)] または [Timeout (タイムアウト)] 項目の値が無効です (最大サイズが 0 以下など)。
  • AGGREGATORS:OBJECT_STORE_ACCESS

    集約された値の保存に使用されるオブジェクトストアへのアクセス中にエラーが発生しました。

時間ベースのアグリゲーター​の場合:

  • AGGREGATORS:AGGREGATOR_CONFIG

    [Period (期間)] または [Max size (最大サイズ)] 項目の値が無効です (期間が 0 など)。
  • AGGREGATORS:OBJECT_STORE_ACCESS

    集約された値の保存に使用されるオブジェクトストアへのアクセス中にエラーが発生しました。

グループベースのアグリゲーター​の場合:

  • AGGREGATORS:GROUP_COMPLETED

    まだ除去されていない完了済みのグループへの新しい要素の追加中にエラーが発生しました。
  • AGGREGATORS:GROUP_TIMED_OUT

    タイムアウトしてまだ除去されていないグループへの新しい要素の追加中にエラーが発生しました。
  • AGGREGATORS:NO_GROUP_ID

    グループ ID に解決される式が null を返しました。
  • AGGREGATORS:NO_GROUP_SIZE

    グループサイズに解決される式が null を返しました。
  • AGGREGATORS:AGGREGATOR_CONFIG

    [Group size (グループサイズ)] または [Timeout (タイムアウト)] 項目の値が無効です (グループサイズが 0 以下など)。
  • AGGREGATORS:OBJECT_STORE_ACCESS

    集約された値の保存に使用されるオブジェクトストアへのアクセス中にエラーが発生しました。