Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Runtime Manager エージェントは Mule JAVA API をサービスとして公開する Mule プラグインで、ユーザーは外部システムから Mule インスタンスを操作および監視することができます。
このドキュメントでは、Runtime Manager エージェントのアーキテクチャと主要コンポーネントの概要を説明します。
エージェントのアーキテクチャは非常に単純です。
トランスポートが通信を処理します。
外部メッセージハンドラーがメッセージをディスパッチします。
サービスが Mule に接続します。
内部メッセージハンドラーが Mule 通知をディスパッチします。
3 種類 (同期、非同期、プッシュ) のメッセージそれぞれについて、各コンポーネントの相互動作を次の図に示します。
コンポーネントの相互動作の典型的な順序を次に示します。
外部システムがエージェントに要求を送信します。
外部メッセージハンドラーが実行され、インターフェースを使用して Mule サービスをコールします。
Mule サービスが Mule をコールし、対応するアクションを実行します。
Mule が通知で応答します。
サービスがその通知をエージェントの通知にマップし、その通知種別を処理する内部メッセージハンドラーを見つけます。
対応する内部メッセージハンドラーが実行されます。
Runtime Manager エージェントは起動時に $MULE_HOME/conf/mule-agent.yml
ファイルから設定を読み込みます。このファイルにインストールの設定パラメーターを手動で追加し、編集する必要があります。形式は一目瞭然です。サンプルファイルをダウンロードできます。
インストール時に、クイックスタートスクリプトを使用して Runtime Manager エージェントを設定することもできます。詳細は、 「Runtime Manager エージェントのインストールまたは更新」を参照してください。
コンポーネントの属性を mule-agent.yml
ファイルで設定することができます。この目的のために、クラス属性に @Configurable
として注釈を付けることができます。
@Singleton
public class MyRequestHandler implements ExternalMessageHandler
{
@Inject
private MuleService muleService;
@Configurable
public String host;
...
}
エージェントへの WebSockets 経由の通信では HTTP プロトコルが実装されます。エージェントとの間で送受信されるすべてのメッセージは、WebSocket 経由で (エージェント設定に応じて) バイナリメッセージまたはテキストとして送信される HTTP メッセージです。これらの HTTP メッセージは、エージェントの REST 通信で使用されるものと同じです。
ハンドシェイクは、WebSocket トランスポートに固有のプロセスです。スタートアップ時に、エージェントはコンソールに対応する (エージェント設定から取得される) WebSocket アドレスにハンドシェイク要求を送信します。この後、エージェントはハンドシェイク要求として認識できないすべての受信メッセージを無視します。ハンドシェイク要求として識別されるメッセージを受信すると、その応答が有効かどうかチェックされます。有効な場合は、エージェントはすべての受信メッセージへの応答を開始します。