Flex Gateway新着情報
Governance新着情報
Monitoring API Manager次の例は、異なるフローによって受信されるメッセージをパブリッシュする方法を示しています。
最初のフローでは受信 HTTP メッセージペイロードを受け入れ、VM Publish 操作がメッセージを VM キューにパブリッシュします。
2 番目のフローでは VM Listener ソースが同じ VM キューを介して前のフローからメッセージペイロードを受信します。
そのために、両方の操作で同じキューを参照することで、アクティブなリスナーがいないキューにメッセージを送信することによって引き起こされるメッセージの損失を防ぎます。
次のスクリーンショットは、この例の Anypoint Studio アプリケーションフローを示しています。
VM パブリッシュフローは最初に受信 HTTP メッセージペイロードをリスンします。このメッセージペイロードには JSON オブジェクトの本文属性が含まれます。次に、一方向の VM Publish 操作で、メッセージが VM キューでパブリッシュされ、フローが続行されます。
VM パブリッシュフローを作成する手順は、次のとおりです。
Studio で新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューで、HTTP Listener ソースを選択してキャンバスにドラッグします。
このソースは受信 HTTP メッセージ属性をリスンします。
[HTTP Listener] 設定画面で、[Path (パス)] 項目を /json-here
に設定します。
[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックして、アプリケーション内の HTTP リスナーのすべてのインスタンスで使用できるグローバル要素を設定します。
[Connection (接続)] セクションで、次の値を入力します。
Protocol (プロトコル)
HTTP (デフォルト)
Host (ホスト)
All Interfaces [0.0.0.0] (default)
Port (ポート)
8081
[Test Connection (接続をテスト)] をクリックして、Mule が指定されたサーバーに接続できることを確認します。
[OK] をクリックします。
VM Publish 操作を HTTP Listener ソースの右にドラッグします。
この操作は、メッセージペイロードを VM キューでパブリッシュします。
コネクタ設定の [Content (コンテンツ)] 項目で、値を payload.body
に設定します。
この項目により、DataWeave を使用して送信する値を作成できます。パラメーター値を指定しない場合は、ペイロード全体が送信されます。
[VM Publish] 設定画面で、[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックして、VM キューのグローバル要素を設定します。
[VM Config (VM 設定)] ウィンドウで、[Queues (キュー)] に [Edit inline (インライン編集)] を選択します。
[Queue (キュー)] ウィンドウで、次の値を入力します。
Queue name (キュー名)
myQueue
Queue type (キュー種別)
TRANSIENT (デフォルト)
Max outstanding message (最大送信メッセージ数)
o
[Finish (完了)] をクリックします。
[OK] をクリックします。
次のスクリーンショットは、[VM Config (VM 設定)] のグローバル要素設定を示しています。
次のスクリーンショットは、VM Publish 操作の画面設定を示しています。
VM リスンフローは前の VM Publish フローからの VM キューのメッセージペイロードをリスンし、メッセージを記録します。このフローにはメッセージソースとして VM Listener が含まれ、VM Publish 操作で設定したのと同じ VM キューを参照します。リスンする側の処理は非同期で発生します。その結果についての通知は受信しません。
VM リスンフローを作成する手順は、次のとおりです。
[Mule Palette (Mule パレット)] ビューで、VM Listener ソースを選択してキャンバスの最初の VM パブリッシュフローの下にドラッグします。
このソースは前のフローから受信したメッセージペイロードをリスンします。
[VM Listener] 設定画面で、[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックして、VM パブリッシュフローで作成した VM キュー設定を選択します。
Logger コンポーネントを VM Listener ソースの右にドラッグします。
プロジェクトを保存して、アプリケーションを実行します。
要求を http://127.0.0.1:8081/json-here
に送信してアプリケーションをテストします。
次のスクリーンショットは、VM Listener ソースの画面設定を示しています。
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:vm="http://www.mulesoft.org/schema/mule/vm" xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/current/mule-vm.xsd">
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<vm:config name="VM_Config" doc:name="VM Config">
<vm:queues >
<vm:queue queueName="myQueue" />
</vm:queues>
</vm:config>
<flow name="vm-publishingFlow">
<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/json-here"/>
<vm:publish doc:name="Publish" config-ref="VM_Config" queueName="myQueue">
<vm:content ><![CDATA[payload.body]]></vm:content>
</vm:publish>
</flow>
<flow name="vm-listeningFlow" >
<vm:listener queueName="myQueue" doc:name="Listener" config-ref="VM_Config"/>
<logger level="INFO" doc:name="Logger" />
</flow>
</mule>
xml