Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこのチュートリアルを使用し、Anypoint MQ を使用して、メッセージの一時的なストレージ領域であるキューへのメッセージの送信および取得を開始します。
このチュートリアルでは、以下を行います。
Anypoint MQ にキューを作成します。
キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。
接続アプリケーションを設定し、ID とシークレットを使用して、MQ 用 Anypoint Connector (Anypoint MQ Connector) バージョン 4.x を設定します。
Anypoint MQ で接続アプリケーションを使用するには、Mule 4 用 Anypoint MQ Connector 4.x を使用する必要があります。 Anypoint MQ Connector バージョン 3.x 以前を使用している場合は、代わりにクライアントアプリケーションを設定します。 詳細は、「クライアントアプリケーションの設定」を参照してください。
Design Center でアプリケーションを作成し、Anypoint MQ Connector を設定し、設定をテストします。
Anypoint Studio 7.x で Mule 4.x アプリケーションを作成し、Anypoint MQ Connector を設定し、接続をテストします。
必要に応じて、Anypoint Studio 6 で Mule 3.9 アプリケーションを作成し、Mule 3 用 Anypoint MQ Connector を設定し、接続をテストします。
Mule 3.9 と Studio 6.x は拡張サポートに含まれるため、Mule と Studio の最新バージョンを使用することをお勧めします。 |
Anypoint MQ の用語集についての理解
Enterprise ライセンス
無料トライアルを入手するには、MuleSoft 営業チームにお問い合わせください。
Anypoint Studio がシステムにインストールされていること
テスト用の curl
コマンドラインツール
このチュートリアルでは、HTTP リスナートリガーを使用して Anypoint MQ Connector のアクセスを開始し、curl
コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信します。
まずキューを作成し、キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。
キューを作成する手順は、次のとおりです。
Anypoint Platform にログインし、ナビゲーションメニューで [MQ] をクリックします。
Anypoint Studio 7 でキューをテストする場合、Design (デザイン) 以外の任意の環境に切り替えます。
たとえば、環境ボタンをクリックして [Production (本番)] を選択します。
[Destinations (宛先)] をクリックします。
1 | [Destinations (宛先)] ナビゲーションメニューでは、使用可能なキューが表示されます。 |
2 | [Add (追加)] アイコンでは、新しいキューまたはエクスチェンジを作成します。 |
[Add (追加)] アイコン ( の [Add (追加)] アイコン",2.5%,2.5%]) をクリックして、メニューを表示します。
[Queue (キュー)] を選択します。
[Create Queue (キューを作成)] ウィンドウで [ID] 項目に myDemoQueue
と入力します。
キュー名には最大 127 文字の英数字 (a-z, A-Z、0-9) と句読点 (. -) 文字を含めることができます。スペースやその他の文字を含めることはできません。
必要に応じて、他のキュー設定を指定します。
詳細は、「キューを作成する」を参照してください。
[Create Queue (キューを作成)] をクリックします。
Anypoint MQ では、[Destinations (宛先)] ページにキューが作成されます。
キューが正常に作成されました。次に、キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。
キューを作成したら、キューにメッセージを送信し、メッセージがキューに到着したことを確認し、キューからメッセージを取得することで、キューをテストします。
キューとの間でメッセージを送受信する手順は、次のとおりです。
[Destinations (宛先)] ページで myDemoQueue
をクリックします。
ナビゲーションメニューで [Message Sender (メッセージ送信者)] をクリックします。
[Type (種別)] 項目を [Text (テキスト)] に設定したまま、Hello Mules!
を [Payload (ペイロード)] 項目に入力します。
必要に応じて、[Add User Properties (ユーザープロパティを追加)] を切り替えて、送信するプロパティの名前と値のペアを指定し、[Add Property (プロパティを追加)] をクリックします。
[Message Sender (メッセージ送信者)] ページには、追加された文字列プロパティが青で表示され、数値プロパティがグレーで表示されます。
[Send (送信)] をクリックします。
[Type (種別)] を [CSV] に設定し、次を [Payload (ペイロード)] 項目に入力して、[Send (送信)] をクリックします。
"dog",
"fish",
"parrot"
[Type (種別)] を [JSON] に設定し、次を [Payload (ペイロード)] 項目に入力して、[Send (送信)] をクリックします。
{
"animal that walks":"dog",
"animal that swims":"fish",
"animal that flies":"parrot"
}
次に、メッセージがキューに到着したことを確認します。
[Destinations (宛先)] をクリックします。
myDemoQueue
のキュー種別をクリックして、その詳細を表示します。
詳細ペインに、キュー内のメッセージ数が表示されます。
詳細ペインで、キューの詳細の表示ラベル myDemoQueue
をクリックします。
ナビゲーションメニューで [Message Browser (メッセージブラウザー)] をクリックします。
取得するメッセージ数に 5
と入力し、ポーリングする秒数に 10
と入力します。
取得できるメッセージ数は 1 ~ 500 件、ポーリングできる間隔は 1 ~ 3600 秒です。
[Get Messages (メッセージを取得)] をクリックします。
Anypoint MQ はキューからメッセージを取得して [Message Browser (メッセージブラウザー)] に表示します。
メッセージ行をクリックして、メッセージペイロードを詳細ペインに表示します。
1 | メッセージを選択します。 |
2 | 詳細ペインのメッセージペイロード。 |
Anypoint MQ でのキューの作成、キューへのメッセージの送信、メッセージの到着確認、メッセージペイロードの表示が正常に終了しました。次に、Mule アプリケーションを Anypoint MQ に接続するための接続アプリケーションを作成します。
キューをテストしたら、Anypoint MQ Connector の設定で使用する ID とシークレットを生成する接続アプリケーションを設定します。
Anypoint MQ で接続アプリケーションを使用するには、Mule 4 用 Anypoint MQ Connector 4.x を使用する必要があります。 Anypoint MQ Connector バージョン 3.x 以前を使用している場合は、代わりにクライアントアプリケーションを設定します。 詳細は、「クライアントアプリケーションの設定」を参照してください。 |
Anypoint MQ スコープを使用して接続アプリケーションを作成する手順は、次のとおりです。
Anypoint Platform にログインし、ナビゲーションメニューで [Access Management (アクセス管理)] をクリックします。
ナビゲーションペインで [Connected Apps (接続アプリケーション)] をクリックします。
[Create app (アプリケーションを作成)] をクリックします。
1 | [Connected Apps (接続アプリケーション)] では、接続アプリケーションの表示と作成を行います。 |
2 | [Create app (アプリケーションを作成)] ボタンでは、接続アプリケーションを作成します。 |
アプリケーションの名前 (DemoApp1
など) を指定します。
[App acts on its own behalf (client credentials) (アプリケーションが自身のために行動する (クライアントログイン情報))] を選択します。
[Add Scopes (スコープを追加)] をクリックします。
スコープは、関連付けられた権限を持つロールです。この権限により、組織および環境内でアプリケーションが実行できるアクションが決まります。 「Anypoint MQ スコープ」を参照してください。
[Add Scopes (スコープを追加)] ウィンドウで次の操作を行います。
検索条件スコープ項目に「MQ」と入力します。
[Select all (すべて選択)] をクリックしてすべてのスコープを選択し、[Next (次へ)] をクリックします。
スコープを適用するビジネスグループを選択して、[Next (次へ)] をクリックします。
[Production (本番)] 環境を選択して、[Next (次へ)] をクリックします。
[Add Scopes (スコープを追加)] をクリックします。
[Save (保存)] をクリックします。
後の手順でコネクタを設定するときに、[Copy Id (ID をコピー)] と [Copy Secret (シークレットをコピー)] をクリックして、DemoApp1
の ID とシークレットをコピーします。
接続アプリケーションが正常に設定されました。次に、Design Center で Mule アプリケーションを作成して Anypoint MQ に接続します。
接続アプリケーションを設定したら、Design Center を使用して、Anypoint MQ に接続するアプリケーションを設定し、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示します。
Design Center を使用する前に、ブラウザーで LastPass や Okta などのパスワードプログラムを無効にします。
有効になっている場合、パスワードプログラムが Design Center の項目にパスワードを挿入するため、アプリケーションが失敗する可能性があります。
[Anypoint Platform] ウィンドウを開いたままにします。これで、接続アプリケーションの宛先 URL と ID およびシークレットの値にアクセスできます。
Design Center でアプリケーションを設定する手順は、次のとおりです。
[Anypoint Platform] のナビゲーションメニューで [Design Center] をクリックします。
[Create new (新規作成)] > [New Mule App (新規 Mule アプリケーション)] をクリックして、新しいインテグレーションフローを作成します。
[New Mule Application (新規 Mule アプリケーション)] ウィンドウで、プロジェクト名に mqdemo
と入力し、[Create App (アプリケーションを作成)] をクリックします。
ヘルプウィザードで、[Go straight to canvas (キャンバスに直接移動)] をクリックします。
[Trigger (トリガー)] ボックスをクリックし、H
と入力して [HTTP Listener (HTTP リスナー)] を検索します。
[HTTP Listener (HTTP リスナー)] を開きます。
[HTTP Listener (HTTP リスナー)] ウィンドウで、[Path (パス)] の値を /mq/{messageId}
に設定し、[Close (閉じる)] アイコン ( アイコン",2.5%,2.5%]) をクリックします。
1 | [Path (パス)] 項目では、メッセージ ID へのパスを指定します。 |
2 | [Close (閉じる)] アイコンでは、[HTTP Listener (HTTP リスナー)] ウィンドウを閉じます。 |
[HTTP Listener (HTTP リスナー)] トリガーの [Add (追加)] アイコン ( アイコン",2.5%,2.5%]) をクリックします。
[Select a component (コンポーネントを選択)] ウィンドウで、anypoint mq
と入力し、[Anypoint MQ Connector] を検索します。
コネクタ名をクリックし、Publish 操作をクリックします。
その他の操作については、次のとおりです。
キューから送信されたメッセージを受信する Mule アプリケーションを作成するには、Consume 操作を使用します。
アプリケーションにメッセージの処理が成功したかどうかを判断するためのテストがある場合は Ack 操作を使用して、メッセージが受信されて削除できることを肯定応答します。
メッセージの処理が失敗した場合、Nack 操作を使用してメッセージへの否定応答を行って、メッセージをキューに戻し、メッセージに再度アクセスできるようにします。
[Configuration (設定)] ページで、[Add Connection (接続を追加)] をクリックします。
[Configure Connection (接続を設定)] ページの [Connection Name (接続名)] 項目で myDemoQueue
を指定し、接続種別として [Connection (接続)] を選択します。
[Anypoint Platform] > [MQ] ブラウザーウィンドウに戻り、URL、アプリケーション ID、およびシークレットの値をコピーします。
ナビゲーションメニューで [Destinations (宛先)] をクリックします。
[Copy (コピー)] をクリックし、メニューから [Connector version 4.x and later (Connector バージョン 4.x 以降)] を選択して、URL をコピーします。
Anypoint MQ Connector バージョン 3.x 以前を使用している場合は、代わりにクライアントアプリケーションを設定します。 詳細は、「クライアントアプリケーションの設定」を参照してください。
Design Center で、[Configure Connection (接続を設定)] ページの [URL] 項目に、コピーした URL を貼り付けます。
[Connected Apps (接続アプリケーション)] ウィンドウに戻り、接続アプリケーションの ID とシークレットをコピーします。
ID とシークレットの値を Design Center の [Configure Connection (接続を設定)] ページに貼り付けます。
[Test (テスト)] をクリックして、アプリケーションにアクセスできることを確認します。
成功した場合、緑色の [Success (成功)] ボックスが表示されます。
失敗した場合、URL、ID、シークレットの値が正しいことを確認します。
URL が [Anypoint Platform] > [MQ] の URL と一致していない場合、Anypoint MQ から [Design Center] ウィンドウに URL をコピーし、もう一度 [Test (テスト)] をクリックしてください。
[Save (保存)] を 2 回クリックします。
[Publish Configuration (設定をパブリッシュ)] ページで myDemoQueue
と入力します。
この名前は、このチュートリアルで以前作成したキュー名です。
[Close (閉じる)] アイコン ( アイコン",2.5%,2.5%]) をクリックして、[Publish Configuration (設定をパブリッシュ)] ページを閉じます。
アイコン",2.5%,2.5%] メニューから [Deploy Application (アプリケーションをデプロイ)] を選択します。
[Deploy Mule application (Mule アプリケーションをデプロイ)] ウィンドウで、対象環境とアプリケーション名を選択し、[Deploy (デプロイ)] をクリックします。
アプリケーションが正常にデプロイされたら、[Deployment success (デプロイメントに成功しました)] ポップアップをクリックして、Runtime Manager にアプリケーションを表示できます。
Design Center を使用して、Anypoint MQ に接続するアプリケーションを正常に設定しました。次に、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、接続をテストします。
Design Center でアプリケーションを作成したら、curl
コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、アプリケーションをテストします。
アプリケーションをテストする手順は、次のとおりです。
Design Center で、アプリケーションのプロジェクトタイプをクリックし、詳細ペインを表示します。
[Deployment url (デプロイメント URL)] の値をコピーします。
コマンドプロンプトから次の curl
コマンドを実行して、Anypoint MQ メッセージとして body
の値を送信します。
DEPLOYMENT-URL を Design Center からのデプロイメント URL に置き換えます。
curl -X POST \
http://DEPLOYMENT-URL/mq/100 \
-H 'content-type: application/json' \
-d '[ {
"body": "Welcome to MuleSoft!"
}
]'
URL の 100
の値は、HTTP リスナーの /mq/{messageId}
の値で指定されたメッセージ ID 値 (メッセージの識別子) です。
次に、メッセージがキューに到着したことを確認します。
[Anypoint Platform] > [MQ] > [Destinations (宛先)] を選択します。
以前作成し、Design Center のアプリケーションの [Destination (宛先)] 設定で指定した myDemoQueue
キューの名前をクリックします。
ナビゲーションメニューで [Message Browser (メッセージブラウザー)] をクリックします。
取得するメッセージ数に 5
と入力し、ポーリングする秒数に 10
と入力します。
[Get Messages (メッセージを取得)] をクリックします。
Anypoint MQ はキューからメッセージを取得して [Message Browser (メッセージブラウザー)] に表示します。
メッセージ行をクリックして、メッセージペイロードを詳細ペインに表示します。
1 | メッセージを選択します。 |
2 | 詳細ペインのメッセージペイロード。 |
curl
コマンドの本文テキストを変更し、ステップを繰り返してメッセージを表示します。
curl
コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、アプリケーションを正常にテストしました。次に、Anypoint Studio 7 で Mule アプリケーションを作成して Anypoint MQ に接続します。
Anypoint Studio 7 を使用して、Design Center で作成したアプリケーションと同様の Mule 4 アプリケーションを作成できるようになりました。Studio 7 でアプリケーションを CloudHub にデプロイし、curl
コマンドを送信して接続をテストできます。
Studio 7 をインストールします。
「Anypoint Studio のダウンロードおよびインストール」を参照してください。
Anypoint Platform で、Design (デザイン) 以外の任意の環境に変更します。
[Anypoint Platform] > [MQ] で作成したキューがこの環境にもあることを確認します。
まず、Studio 7 を使用して、Anypoint MQ に接続するアプリケーションを設定します。
Studio を起動し、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] をクリックし、プロジェクトに mq-demo
という名前を付けます。
ツールバーの [Exchange (エクスチェンジ)] アイコンをクリックします。
Anypoint Platform のユーザー名とパスワードを入力します。
Exchange で、[Provided by MuleSoft (MuleSoft による提供)] ナビゲーションメニューをクリックし、ドロップダウンメニューから [Connectors (コネクタ)] を選択して、[Anypoint MQ Connector] を検索します。
[Anypoint MQ Connector - Mule 4] を選択します。
Studio 7 では Mule 4 がサポートされます。
[Add to project (プロジェクトに追加)] をクリックします。
確認プロンプトで [Proceed (続行)] をクリックし、Studio で [OK] をクリックします。
[Mule Palette (Mule パレット)] ビューで [HTTP] をクリックし、[Listener] を Studio キャンバスにドラッグします。
1 | HTTP Connector では Listener 操作が表示されます。 |
2 | Listener 操作では、[Mule Palette (Mule パレット)] にドラッグする操作を特定します。 |
[Anypoint MQ] をクリックして [Publish] をキャンバスの [Listener] の [Process (プロセス)] 領域にドラッグします。
キャンバスで [Listener] をクリックします。
[Listener] プロパティウィンドウで、[General (一般)] > [Path (パス)] を /mq/{messageId}
に設定します。
[Connector configuration (コネクタ設定)] 項目の [Add (追加)] アイコン ( アイコン",2.5%,2.5%]) をクリックします。
HTTP リスナーの [Global Element Properties (グローバル要素のプロパティ)] ウィンドウで、[Host (ホスト)] が All Interfaces [0.0.0.0]
に設定され、[Port (ポート)] が 8081
に設定されていることを確認し、[OK] をクリックします。
これで、[Listener] プロパティウィンドウは、エラーがないことを示します。
キャンバスで Publish 操作をクリックします。
[Publish] プロパティウィンドウで、[Destination (宛先)] を、[Anypoint Platform] > [MQ] で以前作成した myDemoQueue
キューに設定します。
キューは Design (デザイン) 以外の環境に配置されている必要があります。
[Connector configuration (コネクタ設定)] 項目の [Add (追加)] アイコン ( アイコン",2.5%,2.5%]) をクリックし、[Global Element Properties (グローバル要素のプロパティ)] ウィンドウを表示します。
[Anypoint Platform] > [MQ] ブラウザーウィンドウに戻り、URL、ID、およびシークレットの値をコピーします。
[Destinations (宛先)] をクリックします。
[Copy (コピー)] をクリックし、メニューから [Connector version 4.x and later (Connector バージョン 4.x 以降)] を選択して、URL をコピーします。
Anypoint MQ Connector バージョン 3.x 以前を使用している場合は、代わりにクライアントアプリケーションを設定します。 詳細は、「クライアントアプリケーションの設定」を参照してください。
Studio の [Anypoint MQ Config (Anypoint MQ 設定)] ウィンドウの [URL] 項目に URL を貼り付けます。
[Connected Apps (接続アプリケーション)] ウィンドウに戻り、アプリケーションの ID とシークレットをコピーします。
ID とシークレットの値を Studio の [Anypoint MQ Config (Anypoint MQ 設定)] ウィンドウに貼り付けます。
[Test Connection (接続をテスト)] をクリックし、値が正しいことを確認して、[OK] を 2 回クリックします。
プロジェクトを保存します。
Studio の Package Explorer で、mq-demo
を右クリックし、[Anypoint Platform] > [Deploy to CloudHub (CloudHub にデプロイ)] を選択します。
確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。
Anypoint Platform の [Deploying Application (アプリケーションのデプロイ)] ウィンドウで [Deploy Application (アプリケーションをデプロイ)] をクリックします。
Studio 7 を使用して、Anypoint MQ に接続するアプリケーションを正常に設定しました。次に、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、接続をテストします。
Studio 7 でアプリケーションを作成したら、curl
コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、アプリケーションをテストします。
アプリケーションをテストする手順は、次のとおりです。
Anypoint Platform で [Runtime Manager] > [Applications (アプリケーション)] を選択し、mq-demo
アプリケーションが実行されていることを確認します。
mq-demo
アプリケーションの状況をクリックし、詳細ペインを表示します。
[App url (アプリケーション URL)] の値をコピーします。
コマンドプロンプトから次の curl
コマンドを実行して、Anypoint MQ メッセージとして body
の値を送信します。
[APP-URL] を、Runtime Manager からコピーした [App url (アプリケーション URL)] の値に置き換えます。
curl -X POST \
http://APP-URL/mq/100 \
-H 'content-type: application/json' \
-d '[ {
"body": "Welcome to MuleSoft!"
}
]'
URL の 100
の値は、HTTP リスナーの /mq/{messageId}
の値で指定されたメッセージ ID 値 (メッセージの識別子) です。
destination not found
を示す 404 メッセージが表示された場合、Studio 7 の [MQ Publish (MQ パブリッシュ)] > [Destination (宛先)] 項目のキュー名が [Anypoint Platform] > [MQ] のキュー名と一致していることを確認します。
変更を加えたら、Studio 7 のプロジェクトを右クリックし、[Anypoint Platform] > [Deploy to CloudHub (CloudHub にデプロイ)] を選択して、Mule アプリケーションを CloudHub に再デプロイします。
[Anypoint Platform] > [MQ] > [Destinations (宛先)] で、以前作成し、Studio 7 のアプリケーションの [Destination (宛先)] 設定で指定した myDemoQueue
キューの名前をクリックします。
ナビゲーションメニューで [Message Browser (メッセージブラウザー)] をクリックします。
取得するメッセージ数に 5
と入力し、ポーリングする秒数に 10
と入力します。
[Get Messages (メッセージを取得)] をクリックします。
Anypoint MQ はキューからメッセージを取得して [Message Browser (メッセージブラウザー)] に表示します。
メッセージ行をクリックして、メッセージペイロードを詳細ペインに表示します。
1 | メッセージを選択します。 |
2 | 詳細ペインのメッセージペイロード。 |
curl
コマンドの本文テキストを変更し、ステップを繰り返してメッセージを表示します。
これで、Studio 7 で Anypoint MQ を設定し、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示できるようになりました。
Studio 7 で次の XML を使用して mq-demo
アプリケーションを作成できます。
Studio の [Configuration XML (設定 XML)] タブをクリックし、各自の XML と次の XML を比較します。必要に応じて修正します。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:anypoint-mq="http://www.mulesoft.org/schema/mule/anypoint-mq" 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/anypoint-mq http://www.mulesoft.org/schema/mule/anypoint-mq/current/mule-anypoint-mq.xsd">
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="0778dad7-d959-4396-8532-883a6c230501" >
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<anypoint-mq:config name="Anypoint_MQ_Config" doc:name="Anypoint MQ Config" doc:id="973e27ca-beff-4510-88d8-11a05053355b" >
<anypoint-mq:connection url="https://mq-us-east-1.qax.anypoint.mulesoft.com/api/v1" clientId="CLIENT-ID" clientSecret="CLIENT-SECRET" />
</anypoint-mq:config>
<flow name="mq-demoFlow" doc:id="1e7b7e94-0759-4a2f-83f0-f425ca95b571" >
<http:listener doc:name="Listener" doc:id="57828e3a-d5c0-4b94-ac82-84e2c0e4dd2e" config-ref="HTTP_Listener_config" path="/mq/{messageId}"/>
<anypoint-mq:publish doc:name="Publish" doc:id="17060fa4-d043-4b2f-bc5b-ecc3c905f5a2" destination="myDemoQueue" config-ref="Anypoint_MQ_Config"/>
</flow>
</mule>
Mule 3.9 を使用する場合、Anypoint Studio 6 を使用して、Design Center で作成したアプリケーションと同様の Mule 3.9 アプリケーションを作成できます。
Studio 6 でアプリケーションを CloudHub にデプロイし、curl
コマンドを送信して接続をテストできます。
このセクションは、Anypoint Studio 6 および Mule 3.9 にのみ適用されます。Studio 7 の場合は、「Anypoint Studio 7 での Mule 4 アプリケーションの作成および Anypoint MQ への Mule 4 アプリケーションの接続」を参照してください。
Mule 3.9 と Studio 6.x は拡張サポートに含まれるため、Mule と Studio の最新バージョンを使用することをお勧めします。 |
Studio 6 をインストールします。
「Anypoint Studio のダウンロードおよびインストール」を参照してください。
Anypoint Platform で、Design (デザイン) 以外の任意の環境に変更します。
[Anypoint Platform] > [MQ] で作成したキューがこの環境にもあることを確認します。
Anypoint Platform で認証用のクライアントアプリケーションを作成します。
Mule 3 用 Anypoint MQ Connector では接続アプリケーションがサポートされないため、認証用のクライアントアプリケーションを作成する必要があります。 「クライアントアプリケーションの設定」を参照してください。
後の手順でクライアントアプリケーション ID とクライアントシークレットをコピーできるように、[Client Apps (クライアントアプリケーション)] ウィンドウを開いたままにします。
Studio 6 で Mule 3.9 アプリケーションを設定する手順は、次のとおりです。
Studio を開始し、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] をクリックし、プロジェクトに mq-demo-studio-6
という名前を付けて、[Finish (完了)] をクリックします。
Anypoint MQ Connector をインストールします。
ツールバーの [Exchange (エクスチェンジ)] アイコンをクリックします。
Anypoint Platform のユーザー名とパスワードを入力します。
Exchange で、[Provided by MuleSoft (MuleSoft による提供)] ナビゲーションメニューをクリックし、ドロップダウンメニューから [Connectors (コネクタ)] を選択して、[Anypoint MQ Connector] を検索します。
[Anypoint MQ Connector - Mule 3] を選択します。
Studio 6 では Mule 3.9 がサポートされます。
[Install (インストール)] をクリックします。
確認ダイアログで、インストールするアイテムを確認し、[Next (次へ)] を 2 回クリックします。
ライセンス契約に同意して [Finish (完了)] をクリックします。
確認ダイアログで、[Restart Now (今すぐ再起動)] をクリックし、コネクタのインストールを終了します。
[Mule Palette (Mule パレット)] で [HTTP] を Studio キャンバスにドラッグします。
[Mule Palette (Mule パレット)] で次の操作を行います。
set
を検索し、[Set Payload] をキャンバスの [HTTP] の [Process (プロセス)] 領域にドラッグします。
mq
を検索し、[Anypoint MQ] をキャンバスの [Set Payload] にドラッグします。
logger
を検索し、[Logger] をキャンバスの [Anypoint MQ] にドラッグします。
キャンバスで [HTTP] をクリックします。
[HTTP] プロパティウィンドウで、[General (一般)] > [Path (パス)] を /mq/{messageId}
に設定します。
HTTP Connector をクリックし、[Connector Configuration (コネクタ設定)] の [Add (追加)] アイコン ( アイコン",2.5%,2.5%]) をクリックします。
HTTP Connector の [Global Element Properties (グローバル要素のプロパティ)] ウィンドウで、[Host (ホスト)] が 0.0.0.0
に設定され、[Port (ポート)] が 8081
に設定されていることを確認し、[OK] をクリックします。
これで、[HTTP] プロパティウィンドウは、エラーがないことを示します。
キャンバスで [Set Payload] をクリックします。
[Set Payload] プロパティウィンドウで、[General (一般)] > [Value (値)] を次のように設定します。
#[message.inboundProperties.'http.uri.params'.messageId]
キャンバスで [Anypoint MQ] をクリックします。
[Anypoint MQ] プロパティウィンドウで、[Connector Configuration (コネクタ設定)] の [Add (追加)] アイコン ( アイコン",2.5%,2.5%]) をクリックします。
[Anypoint Platform] > [MQ] に戻り、URL、クライアントアプリケーション ID、およびクライアントシークレットの値を Studio にコピーします。
[Destinations (宛先)] をクリックします。
[Copy (コピー)] をクリックして、メニューから [Connector version 3.x and earlier (コネクタバージョン 3.x 以前)] を選択します。
Anypoint MQ Connector バージョン 3.x は Mule 3.9 および Mule 6 で使用します。
Studio の [Anypoint MQ Configuration (Anypoint MQ 設定)] ウィンドウで、[URL] 項目に URL を貼り付けます。
[Anypoint Platform] > [MQ] で [Client Apps (クライアントアプリケーション)] をクリックし、アプリケーションのクライアントアプリケーション ID とクライアントシークレットをコピーします。
Studio で、クライアントアプリケーション ID とクライアントシークレットの値を [Anypoint MQ Configuration (Anypoint MQ 設定)] ウィンドウに貼り付けます。
[OK] をクリックします。
[Anypoint MQ] プロパティウィンドウで [Operation (操作)] 項目をクリックし、メニューから [publish (パブリッシュ)] を選択します。
[Destination (宛先)] を、[Anypoint Platform] > [MQ] で以前作成した myDemoQueue
キューに設定します。
キューは Design (デザイン) 以外の環境に存在する必要があります。
キャンバスで [Logger] をクリックします。
[Logger] プロパティウィンドウで、[General (一般)] > [Message (メッセージ)] を MQ Message: #[payload]
に設定します。
プロジェクトを保存します。
Studio の Package Explorer で、mq-demo-studio-6
を右クリックし、[Anypoint Platform] > [Deploy to Cloud (クラウドにデプロイ)] を選択します。
確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。
Anypoint Platform の [Deploying Application (アプリケーションのデプロイ)] ウィンドウで [Deploy Application (アプリケーションをデプロイ)] をクリックします。
Studio 6 を使用して、Anypoint MQ に接続する Mule 3.9 アプリケーションを正常に設定しました。次に、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、接続をテストします。
Mule 3.9 アプリケーションをテストするには、アプリケーションのテストの手順に従って、curl
コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示します。
Anypoint MQ Connector を使用してアプリケーションを設定したら、次の XML と比較して設定を確認できます。
Studio の [Configuration XML (設定 XML)] をクリックし、各自の XML と次の XML を比較します。必要に応じて、修正を行うことができます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:anypoint-mq="http://www.mulesoft.org/schema/mule/anypoint-mq" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
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/anypoint-mq http://www.mulesoft.org/schema/mule/anypoint-mq/current/mule-anypoint-mq.xsd">
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<anypoint-mq:config name="Anypoint_MQ_Configuration" doc:name="Anypoint MQ Configuration">
<anypoint-mq:provider url="https://mq-us-east-1.anypoint.mulesoft.com/api/v1" clientId="CLIENT_ID" clientSecret="CLIENT_SECRET"/>
</anypoint-mq:config>
<flow name="mq-demo-studio-6Flow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/mq/{messageId}" doc:name="HTTP"/>
<set-payload value="#[message.inboundProperties.'http.uri.params'.messageId]" doc:name="Set Payload"/>
<anypoint-mq:publish config-ref="Anypoint_MQ_Configuration" destination="myDemoQueue" doc:name="Anypoint MQ"/>
<logger message="MQ Message: #[payload]" level="INFO" doc:name="Logger"/>
</flow>
</mule>