チュートリアル: キューの作成とキューへのメッセージの送信

このチュートリアルを使用し、Anypoint MQ を使用して、メッセージの一時的なストレージ領域である_キュー_​へのメッセージの送信および取得を開始します。

このチュートリアルでは、以下を行います。

  1. Anypoint Studio にキューを作成します。

  2. キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。

  3. Anypoint MQ でクライアントアプリケーションを登録します。このクライアントアプリケーションは、Anypoint MQ コネクタを設定するために使用します。

  4. Design Center でアプリケーションを作成し、Anypoint MQ コネクタを設定し、設定をテストします。

  5. Anypoint Studio でアプリケーションを作成し、Anypoint MQ コネクタを設定し、設定をテストします。

    使用する Mule バージョンに応じて Studio 7 (Mule 4) または Studio 6 (Mule 3) にアプリケーションを作成します。

前提条件

  • Anypoint MQ の用語​に精通していること

  • Anypoint Platform アカウント

  • Enterprise ライセンス

    無料トライアルを入手するには、MuleSoft 営業チームにお問い合わせください。

  • Anypoint Studio がシステムにインストールされていること

  • テスト用の curl​ コマンド

    このチュートリアルでは、HTTP リスナトリガを使用して Anypoint MQ コネクタのアクセスを開始し、curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信します。

キューの作成

まずキューを作成し、キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。

キューを作成する手順は、次のとおりです。

  1. Anypoint Platform にログインします。

  2. 左側のナビゲーションバーまたは Anypoint Platform のメイン画面で [MQ]​ をクリックします。

  3. Anypoint Studio 7 でキューをテストする場合、Design (デザイン) 以外の任意の環境に切り替えます。

    たとえば、環境ボタンをクリックして [Production (本番)]​ を選択します。

    環境ボタン
    Figure 1. 矢印は、左側のペインの環境ボタンを指しています。
  4. [Destinations (宛先)]​ をクリックします。

    [Destinations (宛先)] オプションと青のプラスアイコン
    Figure 2. このスクリーンショットは、(1​) [Destinations (宛先)]​ オプションと (2​) 青のプラスアイコン (+) を示しています。
  5. 青いプラスアイコン (+) をクリックしてメニューを表示します。

    青のプラスアイコンの選択肢
    Figure 3. このスクリーンショットは、青のプラスアイコンのメニューを示しています。
  6. [Queue (キュー)]​ を選択します。

  7. [Create Queue (キューを作成)]​ ウィンドウで [ID]​ 項目に myDemoQueue​ と入力します。

    [Create Queue (キューを作成)] ウィンドウ
    Figure 4. このスクリーンショットは、[Create Queue (キューを作成)]​ ウィンドウを示しています。

    キュー名には最大 127 文字の英数字 (a-z, A-Z、0-9)、ピリオド (.)、ハイフン (-) を含めることができます。スペースやその他の文字を含めることはできません。

  8. 必要に応じて、他のキュー設定を指定します。

    詳細は、「キューを作成する」​を参照してください。

  9. [Create Queue (キューを作成)]​ をクリックします。

    キューが作成され、[Destinations (宛先)]​ ページに表示されます。

    新しいキューのある [Destinations (宛先)] ページ
    Figure 5. [Destinations (宛先)]​ ページには、キューの (1​) 種類、(2​) ID、(3​) 詳細表示ラベルが表示されています。

    このページから、次の操作ができます。

    • 新しいキュー種別 (1​) をクリックして、その詳細を右側のペインに表示する。

    • キューの ID (2​) または詳細表示ラベル (3​) をクリックして、[Queue Settings (キュー設定)]​ ページを表示する。

キューが正常に作成されました。次に、キューにメッセージを送信し、メッセージが到着したことを確認し、メッセージペイロードを表示します。

キューへのメッセージの送信およびメッセージの到着の確認

キューを作成したら、作成したキューにメッセージを送信し、メッセージがキューに到着したことを確認し、キューからメッセージを取得することで、キューをテストします。

キューとの間でメッセージを送受信する手順は、次のとおりです。

  1. [Destinations (宛先)]​ ページで、myDemoQueue​ をクリックして [Queue Settings (キュー設定)]​ ページを表示します。

  2. 左側のペインで [Message Sender (メッセージ送信者)]​ をクリックします。

    [Message Sender (メッセージ送信者)] オプション
    Figure 6. 矢印は、左側のペインの [Message Sender (メッセージ送信者)]​ オプションを示しています。
  3. [Payload (ペイロード)]​ 項目に Hello Mules!​ と入力します。

    [Type (種別)]​ 項目の設定は [Text (テキスト)]​ のままにします。

  4. [Send (送信)]​ をクリックします。

  5. [Type (種別)]​ を [JSON]​ に設定します。

  6. [Payload (ペイロード)]​ を次のように設定します。

    {
    "animal that walks":"dog",
    "animal that swims":"fish",
    "animal that flies":"parrot"
    }
  7. [Send (送信)]​ をクリックします。

  8. [Type (種別)]​ を [CSV]​ に設定します。

  9. [Payload (ペイロード)]​ を次のように設定します。

    "dog",
    "fish",
    "parrot"
  10. [Send (送信)]​ をクリックします。

    次に、メッセージがキューに到着したことを確認します。

  11. [Destinations (宛先)]​ をクリックします。

  12. myDemoQueue​ のキュー種別をクリックして、その詳細を右側のペインに表示します。

    詳細ペインに、キュー内のメッセージ数が表示されます。

    詳細ペインの myDemoQueue キュー内の 3 つのメッセージ
    Figure 7. 詳細ペインの矢印は、myDemoQueue​ キューに送信した 3 つのメッセージを示しています。
  13. [Destinations (宛先)]​ ページで myDemoQueue​ をクリックします。

  14. [Queue Settings (キュー設定)]​ ページの左側のペインで [Message Browser (メッセージブラウザー)]​ をクリックします。

    [Message Browser (メッセージブラウザ)] オプションと [Get Messages (メッセージを取得)] ボタン
    Figure 8. このスクリーンショットは、(1​) [Message Browser (メッセージブラウザ)]​ オプションと (2​) [Get Messages (メッセージを取得)]​ ボタンを示しています。
  15. [Get Messages (メッセージを取得)]​ をクリックします。

  16. メッセージ行をクリックして、メッセージペイロードを詳細ペインに表示します。

    選択されたメッセージ行、詳細ペインのペイロード、[Return Messages (メッセージを返す)] アイコン、[Delete (削除)] アイコン、[Full Screen (全画面)] アイコン、詳細ペインを閉じる (X) アイコン
    Figure 9. このスクリーンショットは、(1​) メッセージ行、(2​) 詳細ペインのメッセージペイロード、(3​) [Return Messages (メッセージを戻す)]​ アイコン、(4​) [Delete (削除)]​ アイコン、(5​) [Full Screen (全画面)]​ アイコン、(6​) 詳細ペインを閉じるアイコン (X​) を示しています。
    • [Full Screen (全画面)]​ をクリックすると、個別のウィンドウでメッセージペイロードが表示され、[X]​ をクリックすると、詳細ペインが閉じます。

    • [Delete (削除)]​ をクリックすると、選択したメッセージが削除されます。

      メッセージを削除することは、肯定応答操作 (ACK) です。ACK メッセージが Anypoint MQ でどのように処理されるのかについては、「メッセージの肯定応答」​を参照してください。

    • [Return Messages (メッセージを戻す)]​ をクリックすると、すべてのメッセージがキューに戻されます (たとえば、他のアプリケーションでこのメッセージを読み取ることができます)。

      メッセージをキューに戻すことは、否定応答操作 (NACK) です。メッセージは変更されません。ただし、キューの作成時に設定した存続期間 (TTL) の値によって、Anypoint MQ でメッセージが削除されるまでメッセージを使用できる期間が決まります。

      [Message Browser (メッセージブラウザ)]​ ページから切り替えると、メッセージはキューに自動的に戻ります。

Anypoint MQ でのキューの作成、キューへのメッセージの送信、メッセージの到着確認、メッセージペイロードの表示が正常に終了しました。次に、クライアント Mule アプリケーションを Anypoint MQ に登録します。

クライアント Mule アプリケーションの登録

キューをテストしたら、クライアントアプリケーションを Anypoint MQ に登録します。クライアントアプリケーションを登録すると、クライアントアプリケーション ID とクライアントシークレットが生成されます。これらを使用して、Anypoint MQ コネクタを設定します。

クライアントアプリケーションを登録する手順は、次のとおりです。

  1. Anypoint Platform にログインし、[MQ]​ をクリックします。

  2. [Client Apps (クライアントアプリケーション)]​ をクリックします。

    [Client Apps (クライアントアプリケーション)] オプションと青のプラスアイコン
    Figure 10. このスクリーンショットは、(1​) [Client Apps (クライアントアプリケーション)]​ オプションと (2​) 青のプラスアイコン (+) を示しています。
  3. 青のプラスアイコン (+) をクリックします。

  4. [Create Client App (クライアントアプリケーションを作成)]​ ウィンドウで DemoClientApp​ と入力し、[Save Changes (変更を保存)]​ をクリックします。

  5. クライアントアプリケーションエントリをクリックし、詳細ペインにクライアント ID とクライアントシークレットの値を表示します。

    [Client App ID (クライアントアプリケーション ID)] 項目、[Show (表示)] ボタン、[Copy (コピー)] ボタン
    Figure 11. このスクリーンショットは、(1​) [Client App ID (クライアントアプリケーション ID)]​ 項目、(2​) [Show (表示)]​ ボタン、(3​) [Copy (コピー)]​ ボタンを示しています。

    [Show (表示)]​ をクリックするまで、クライアントシークレットの値は難読化されています。

  6. 後の手順でクライアントアプリケーション ID とクライアントシークレットをコピーできるように、[Client Apps (クライアントアプリケーション)]​ ウィンドウを開いたままにします。

クライアント Mule アプリケーションを Anypoint MQ に正常に登録しました。次に、Design Center で Mule アプリケーションを作成して Anypoint MQ に接続します。

Design Center での Mule アプリケーションの作成および Anypoint MQ への Mule アプリケーションの接続

クライアントアプリケーションを登録したら、Design Center を使用して、Anypoint MQ に接続するアプリケーションを設定し、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示します。

前提条件

  • Design Center を使用する前に、ブラウザで LastPass や Okta などのパスワードプログラムを無効にします。

    有効になっている場合、パスワードプログラムが Design Center の項目にパスワードを挿入するため、アプリケーションが失敗する可能性があります。

  • ブラウザウィンドウで [Anypoint Platform]​ > [MQ]​ を開いたままにします。これで、以前登録したクライアントアプリケーションのキュー、クライアントアプリケーション ID、クライアントシークレットの値にアクセスできます。

Design Center での Anypoint MQ を使用したアプリケーションの設定

Design Center でアプリケーションを設定する手順は、次のとおりです。

  1. Anypoint Platform​ の左側のナビゲーションバーまたはメイン画面で [Design Center]​ をクリックします。

  2. [Create (作成)]​ ボタンをクリックして、新しいプロジェクトを作成します。

    作成ウィンドウで、[Create new application (新規アプリケーションの作成)]​ を選択します。

    [Create new application (新規アプリケーションの作成)] オプション
    Figure 12. 矢印は、[Create new application (新規アプリケーションの作成)]​ オプションを示しています。
  3. [New Mule Application (新規 Mule アプリケーション)]​ ウィンドウで、プロジェクト名に mqdemo​ と入力し、[Create (作成)]​ をクリックします。

  4. ヘルプウィザードで、[Go straight to canvas (キャンバスに直接移動)]​ をクリックします。

    [Go straight to canvas (キャンバスに直接移動)]
    Figure 13. 矢印は、[Go straight to canvas (キャンバスに直接移動)]​ オプションを示しています。
  5. [Trigger (トリガ)]​ ボックスをクリックし、H​ と入力して [HTTP Listener (HTTP リスナ)] を検索します。

    [HTTP Listener (HTTP リスナ)] の検索
    Figure 14. 矢印は、[HTTP Listener (HTTP リスナ)] を示しています。
  6. [HTTP Listener (HTTP リスナ)]​ を開きます。

  7. [HTTP Listener (HTTP リスナ)] ウィンドウで、[Path (パス)]​ の値を /mq/{messageId}​ に設定し、[Close (閉じる)]​ ボタン (X) をクリックします。

    [Path (パス)] の値と [Close (閉じる)] ボタン
    Figure 15. このスクリーンショットは、(1​) [Path (パス)]​ の値と (2​) [Close (閉じる)]​ ボタン (X) を示しています。
  8. [HTTP Listener (HTTP リスナ)] トリガの右にあるプラスアイコン (+) をクリックします。

    プラスアイコン
    Figure 16. 矢印は、プラスアイコン (+) を示しています。
  9. [Select a component (コンポーネントを選択)]​ ウィンドウで、Mu​ と入力し、[Mule Anypoint MQ Connector (Mule Anypoint MQ コネクタ)] を検索します。

    [Mule Anypoint MQ Connector (Mule Anypoint MQ コネクタ)] の検索
    Figure 17. 矢印は、[Mule Anypoint MQ Connector (Mule Anypoint MQ コネクタ)] を示しています。
  10. Publish​ 操作を選択します。

    Publish 操作
    Figure 18. 矢印は、Publish​ 操作を示しています。

    その他の操作については、次のとおりです。

    • キューから送信されたメッセージを受信する Mule アプリケーションを作成するには、Consume​ 操作を使用します。

    • アプリケーションにメッセージの処理が成功したかどうかを判断するためのテストがある場合は Ack​ 操作を使用して、メッセージが受信されて削除できることを肯定応答します。

    • メッセージの処理が失敗した場合、Nack​ 操作を使用してメッセージへの否定応答を行って、メッセージをキューに戻し、メッセージに再度アクセスできるようにします。

  11. [Configuration (設定)]​ タブの [Destination (宛先)]​ 項目で myDemoQueue​ を指定します。

    これは、このチュートリアルの前半で作成したキューの名前です。

    [Destinations (宛先)] 項目とセットアップリンク
    Figure 19. このスクリーンショットは、(1​) [Destination (宛先)]​ 項目と (2​) [Click here to set it up (セットアップするにはここをクリック)]​ リンクを示しています。
  12. [Click here to set it up (セットアップするにはここをクリック)]​ をクリックします。

  13. [Anypoint Platform]​ > [MQ]​ ブラウザウィンドウからクライアントアプリケーション ID とクライアントシークレットをコピーします。

    [Client App ID (クライアントアプリケーション ID)] 項目、[Show (表示)] ボタン、[Copy (コピー)] ボタン
    Figure 20. このスクリーンショットは、[Client Apps (クライアントアプリケーション)]​ 詳細ペインの (1​) [Client App ID (クライアントアプリケーション ID)]​ 項目、(2​) [Show (表示)]​ ボタン、(3​) [Copy (コピー)]​ ボタンを示しています。
    1. [MQ]​ ページで、[Client Apps (クライアントアプリケーション)]​ をクリックし、DemoClientApp​ をクリックして、詳細ペインを表示します。

    2. [MQ]​ 詳細ペインで、[Client App ID (クライアントアプリケーション ID)]​ 項目の [Copy (コピー)]​ ボタンをクリックし、値を [Design Center]​ ページの [Client App ID (クライアントアプリケーション ID)]​ 項目に貼り付けます。

    3. [MQ]​ 詳細ペインで、[Client Secret (クライアントシークレット)]​ 項目の [Copy (コピー)]​ ボタンをクリックし、値を [Design Center]​ ページの [Client Secret (クライアントシークレット)]​ 項目に貼り付けます。

      [Client App ID (クライアントアプリケーション ID)] 項目と [Client Secret (クライアントシークレット)] 項目
      Figure 21. このスクリーンショットは、[Design Center]​ ページの (1​) [Client App ID (クライアントアプリケーション ID)]​ 項目と (2​) [Client Secret (クライアントシークレット)]​ 項目を示しています。
  14. [Test (テスト)]​ をクリックして、クライアントアプリケーションにアクセスできることを確認します。

    [Success (成功)] ボックス
    Figure 22. 矢印は、[Success (成功)]​ ボックスを示しています。
    • 成功した場合、緑色の [Success (成功)]​ ボックスが表示されます。

    • 失敗した場合、クライアントアプリケーション ID、クライアントシークレット、URL の値が正しいことを確認してください。

      URL が [Anypoint Platform]​ > [MQ]​ の URL と一致していない場合、Anypoint MQ から [Design Center] ウィンドウに URL をコピーし、もう一度 [Test (テスト)]​ をクリックしてください。

      [Destinations (宛先)] ページの [Copy (コピー)] ボタン
      Figure 23. 矢印は、Anypoint MQ の [Destinations (宛先)]​ ページの [Copy (コピー)]​ ボタンを示しています。
  15. [Save (保存)]​ をクリックします。

  16. [Close (閉じる)]​ ボタン (X) をクリックして、Publish の [Configuration (設定)] ウィンドウを閉じます。

    [Close (閉じる)] ボタン
    Figure 24. 矢印は、[Close (閉じる)]​ ボタン (X) を示しています。
  17. [Test (テスト)]​ ボタンの右にあるメニューから [Deploy Application (アプリケーションをデプロイ)]​ を選択します。

    [Deploy Application (アプリケーションをデプロイ)] メニューオプション
    Figure 25. 矢印は、Design Center の [Deploy Application (アプリケーションをデプロイ)]​ メニューオプションを示しています。
  18. [Deploy Mule application (Mule アプリケーションをデプロイ)]​ ウィンドウで、対象環境とアプリケーション名を選択し、[Deploy (デプロイ)]​ をクリックします。

    アプリケーションが一時的な環境で実行を開始します。

    一時的な環境で実行されている mqdemo アプリケーション
    Figure 26. 矢印は、mqdemo​ アプリケーションが一時的な環境で実行されていることを示すメッセージを示しています。

Design Center を使用して、Anypoint MQ に接続するアプリケーションを正常に設定しました。次に、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、接続をテストします。

Design Center アプリケーションのテスト

Design Center でアプリケーションを作成したら、curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、アプリケーションをテストします。

アプリケーションをテストする手順は、次のとおりです。

  1. Design Center で、アプリケーションのプロジェクトタイプをクリックし、詳細ペインを表示します。

    詳細ペインのデプロイメント URL
    Figure 27. 矢印は、Design Center 内のアプリケーションの詳細ペインのデプロイメント URL を示しています。
  2. [Deployment url (デプロイメント URL)]​ をコピーします。

  3. コマンドプロンプトから次の 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 値 (メッセージの識別子) です。

    次に、メッセージがキューに到着したことを確認します。

  4. [Anypoint Platform]​ > [MQ]​ > [Destinations (宛先)]​ で、以前作成し、Design Center のアプリケーションの [Destination (宛先)]​ 設定で指定した myDemoQueue​ キューの名前をクリックします。

  5. 左側のメニューで [Message Browser (メッセージブラウザ)]​ をクリックします。

    [Message Browser (メッセージブラウザ)] オプションと [Get Messages (メッセージを取得)] ボタン
    Figure 28. このスクリーンショットは、(1​) [Message Browser (メッセージブラウザ)]​ オプションと、myDemoQueue​ キューからメッセージを取得するための (2​) [Get Messages (メッセージを取得)]​ ボタンを示しています。
  6. [Get Messages (メッセージを取得)]​ をクリックします。

  7. メッセージ行をクリックし、curl​ コマンドで送信したメッセージペイロードを詳細ペインに表示します。

    選択されたメッセージ行、ペイロード、[Return Messages (メッセージを返す)] アイコン、[Delete (削除)] アイコン、[Full Screen (全画面)] アイコン、詳細ペインを閉じる (X) アイコン
    Figure 29. このスクリーンショットは、(1​) メッセージ行、(2​) メッセージペイロード、(3​) [Return Messages (メッセージを戻す)]​ アイコン、(4​) [Delete (削除)]​ アイコン、(5​) [Full Screen (全画面)]​ アイコン、(6​) 詳細ペインを閉じるアイコン (X​) を示しています。
    • [Full Screen (全画面)]​ をクリックすると、個別のウィンドウでメッセージペイロードが表示され、[X]​ をクリックすると、詳細ペインが閉じます。

    • [Delete (削除)]​ をクリックすると、選択したメッセージが削除されます。

    • [Return Messages (メッセージを戻す)]​ をクリックすると、メッセージがキューに戻されます (たとえば、他のアプリケーションでこのメッセージを読み取ることができます)。

  8. curl​ コマンドの本文テキストを変更し、ステップを繰り返してメッセージを表示します。

curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、アプリケーションを正常にテストしました。次に、Anypoint Studio 7 で Mule アプリケーションを作成して Anypoint MQ に接続します。

Anypoint Studio 7 での Mule 4 アプリケーションの作成および Anypoint MQ への Mule 4 アプリケーションの接続

Anypoint Studio 7 を使用して、Design Center で作成したアプリケーションと同様の Mule 4 アプリケーションを作成できるようになりました。Studio 7 でアプリケーションを CloudHub にデプロイし、curl​ コマンドを送信して接続をテストできます。

前提条件

  • Studio 7 をインストールします。

  • Anypoint Platform で、Design (デザイン) 以外の任意の環境に変更します。

    [Anypoint Platform]​ > [MQ]​ で作成したキューがこの環境にもあることを確認します。

Anypoint Studio 7 での Anypoint MQ を使用したアプリケーションの設定

まず、Studio 7 を使用して、Anypoint MQ に接続するアプリケーションを設定します。

Studio でアプリケーションを設定する手順は、次のとおりです。

  1. Studio を起動し、[File (ファイル)]​ > [New (新規)]​ > [Mule Project (Mule プロジェクト)]​ をクリックし、プロジェクトに mq-demo​ という名前を付けます。

  2. ツールバーの [Exchange (エクスチェンジ)]​ アイコンをクリックします。

    Studio 7 ツールバーの [Exchange (エクスチェンジ)] アイコン
    Figure 30. 矢印は、Studio 7 ツールバーの [Exchange (エクスチェンジ)]​ アイコンを示しています。
  3. Anypoint Platform のユーザ名とパスワードを入力します。

  4. Exchange で、[Provided by MuleSoft (MuleSoft による提供)]​ を選択し、[Anypoint MQ Connector (Anypoint MQ コネクタ)] を検索します。

    Exchange の [Provided by MuleSoft (MuleSoft による提供)] オプションと検索項目
    Figure 31. このスクリーンショットは、(1​) [Provided by MuleSoft (MuleSoft による提供)]​ オプションと (2​) 検索項目を示しています。
  5. [Anypoint MQ Connector - Mule 4 (Anypoint MQ コネクタ - Mule 4)]​ を選択します。

    Studio 7 では Mule 4 がサポートされます。

  6. [Add to project (プロジェクトに追加)]​ をクリックします。

    Exchange の [Add to project (プロジェクトに追加)] アイコン
    Figure 32. 矢印は、Exchange の [Add to project (プロジェクトに追加)]​ アイコンを示しています。
  7. 確認ダイアログで [Proceed (続行)]​ をクリックし、[OK]​ をクリックします。

  8. [Mule Palette (Mule パレット)]​ ビューで [HTTP]​ をクリックし、[Listener]​ を Studio キャンバスにドラッグします。

    HTTP コネクタと Listener 操作
    Figure 33. このスクリーンショットは、(1​) HTTP コネクタと (2​) Listener 操作を示しています。
  9. [Anypoint MQ]​ をクリックして [Publish]​ をキャンバスの [Listener] の右側の [Process (プロセス)]​ 領域にドラッグします。

    Studio 7 キャンバスの [Publish] 操作
    Figure 34. 矢印は、Studio 7 キャンバスの [Publish]​ 操作を示しています。
  10. キャンバスで [Listener]​ をクリックします。

  11. [Listener] プロパティウィンドウで、[General (一般)]​ > [Path (パス)]​ を /mq/{messageId}​ に設定します。

    [Listener] プロパティ
    Figure 35. このスクリーンショットは、Listener の (1​) [Path (パス)]​ プロパティと (2​) [Connector configuration (コネクタ設定)]​ アイコンを示しています。
  12. [Connector configuration (コネクタ設定)]​ 項目の右にある緑のプラスアイコン (+) をクリックします。

  13. HTTP リスナの [Global Element Properties (グローバル要素のプロパティ)]​ ウィンドウで、[Host (ホスト)]​ が 0.0.0.0​ に設定され、[Port (ポート)]​ が 8081​ に設定されていることを確認し、[OK]​ をクリックします。

    これで、[Listener] プロパティウィンドウは、エラーがないことを示します。

  14. キャンバスで [Publish]​ をクリックします。

  15. [Publish] プロパティウィンドウで、[Destination (宛先)]​を、[Anypoint Platform]​ > [MQ]​ で以前作成した myDemoQueue​ キューに設定します。

    Publish 操作の [Destination (宛先)] プロパティと緑のプラスアイコン
    Figure 36. このスクリーンショットは、Publish 操作の (1​) [Destination (宛先)]​ プロパティと (2​) コネクタ設定の緑のプラスアイコン (+) を示しています。

    キューは Design (デザイン) 以外の環境に存在する必要があります。

  16. [Connector configuration (コネクタ設定)]​ 項目の右にある緑のプラスアイコン (+) をクリックします。

  17. Anypoint MQ の [Destinations (宛先)]​ ページで [Copy (コピー)]​ をクリックして URL をコピーし、Studio の [Destination (宛先)]​ 項目に貼り付けます。

    [Destinations (宛先)] ページの [Copy (コピー)] ボタン
    Figure 37. 矢印は、Anypoint MQ の [Destinations (宛先)]​ ページの [Copy (コピー)]​ ボタンを示しています。
  18. Anypoint MQ の [Client Apps (クライアントアプリケーション)]​ ページから Studio にクライアントアプリケーション ID とクライアントシークレットをコピーします。

    [Client App ID (クライアントアプリケーション ID)] 項目、[Show (表示)] ボタン、[Copy (コピー)] ボタン
    Figure 38. このスクリーンショットは、(1​) [Client App ID (クライアントアプリケーション ID)]​ 項目、(2​) [Show (表示)]​ ボタン、(3​) [Copy (コピー)]​ ボタンを示しています。
    1. [MQ]​ ページで、[Client Apps (クライアントアプリケーション)]​ をクリックし、DemoClientApp​ をクリックして、詳細ペインを表示します。

    2. [MQ]​ 詳細ペインで、[Client App ID (クライアントアプリケーション ID)]​ 項目の [Copy (コピー)]​ ボタンをクリックし、値を [Anypoint MQ Config (Anypoint MQ 設定)]​ ウィンドウの [Client App ID (クライアントアプリケーション ID)]​ 項目に貼り付けます。

    3. [MQ]​ 詳細ペインで、[Client Secret (クライアントシークレット)]​ 項目の [Copy (コピー)]​ ボタンをクリックし、値を [Anypoint MQ Config (Anypoint MQ 設定)]​ ウィンドウの [Client Secret (クライアントシークレット)]​ 項目に貼り付けます。

      [Anypoint MQ Config (Anypoint MQ 設定)] ウィンドウの [URL] 項目、[Client App ID (クライアントアプリケーション ID)] 項目、[Client Secret (クライアントシークレット)] 項目、[Test Connection (接続をテスト)] ボタン
      Figure 39. このスクリーンショットは、(1​) [URL]​ 項目、(2​) [Client App ID (クライアントアプリケーション ID)]​ 項目、(3​) [Client Secret (クライアントシークレット)]​ 項目、(4​) [Test Connection (接続をテスト)]​ ボタンを示しています。
  19. [Test Connection (接続をテスト)]​ をクリックし、値が正しいことを確認して、[OK]​ を 2 回クリックします。

  20. プロジェクトを保存します。

  21. Studio の Package Explorer​ で、mq-demo​ を右クリックし、[Anypoint Platform]​ > [Deploy to CloudHub (CloudHub にデプロイ)]​ を選択します。

  22. 確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。

  23. Anypoint Platform の [Deploying Application (アプリケーションのデプロイ)]​ ウィンドウで [Deploy Application (アプリケーションをデプロイ)]​ をクリックします。

    [Deploying Applications (アプリケーションのデプロイ)] ページの [Deploy Application (アプリケーションをデプロイ)] ボタン
    Figure 40. 矢印は、[Deploying Applications (アプリケーションのデプロイ)]​ ページの [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 を使用して結果を表示することで、アプリケーションをテストします。

アプリケーションをテストする手順は、次のとおりです。

  1. Anypoint Platform で [Runtime Manager]​ > [Applications (アプリケーション)]​ を選択し、mq-demo​ アプリケーションが実行されていることを確認します。

  2. mq-demo​ アプリケーションの状況をクリックし、その詳細を右側のペインに表示します。

  3. [App url (アプリケーション URL)]​ の値をコピーします。

    Runtime Manager の [App url (アプリケーション URL)]
    Figure 41. 矢印は、Runtime Manager 内の詳細ペインの [App url (アプリケーション URL)]​ を示しています。
  4. コマンドプロンプトから次の 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": "Message via Runtime Manager"
      }
    ]'

    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 に再デプロイします。

  5. [Anypoint Platform]​ > [MQ]​ > [Destinations (宛先)]​ で、以前作成し、Studio 7 のアプリケーションの [Destination (宛先)]​ 設定で指定した myDemoQueue​ キューの名前をクリックします。

  6. 左側のメニューで [Message Browser (メッセージブラウザ)]​ をクリックします。

    [Message Browser (メッセージブラウザ)] オプションと [Get Messages (メッセージを取得)] ボタン
    Figure 42. このスクリーンショットは、(1​) [Message Browser (メッセージブラウザ)]​ オプションと、myDemoQueue​ キューからメッセージを取得するための (2​) [Get Messages (メッセージを取得)]​ ボタンを示しています。
  7. [Get Messages (メッセージを取得)]​ をクリックします。

  8. メッセージ行をクリックして、メッセージペイロードを詳細ペインに表示します。

    選択されたメッセージ行、ペイロード、[Return Messages (メッセージを戻す)] アイコン、[Delete (削除)] アイコン、[Full Screen (全画面)] アイコン、詳細ペインを閉じるアイコン (X)
    Figure 43. このスクリーンショットは、(1​) メッセージ行、(2​) メッセージペイロード、(3​) [Return Messages (メッセージを戻す)]​ アイコン、(4​) [Delete (削除)]​ アイコン、(5​) [Full Screen (全画面)]​ アイコン、(6​) 詳細ペインを閉じるアイコン (X​) を示しています。
    • [Full Screen (全画面)]​ をクリックすると個別のウィンドウでメッセージペイロードが表示され、[Close (閉じる)]​ をクリックすると詳細ペインが閉じます。

    • [Delete (削除)]​ をクリックすると、選択したメッセージが削除されます。

    • [Return Messages (メッセージを戻す)]​ をクリックすると、メッセージがキューに戻されます (たとえば、他のアプリケーションでこのメッセージを読み取ることができます)。

  9. curl​ コマンドの本文テキストを変更し、ステップを繰り返してメッセージを表示します。

これで、Studio 7 で Anypoint MQ を設定し、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示できるようになりました。

Studio 7 XML

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="fcdcaaf1-fac4-4342-b126-158785965810" >
        <anypoint-mq:connection url="https://mq-us-east-1.qax.anypoint.mulesoft.com/api/v1" clientId="f8f65e21d83544778c9293889a74bcc0" clientSecret="d3B290FAe0474e80b7E42178FB43CA75" />
    </anypoint-mq:config>
    <anypoint-mq:config name="Anypoint_MQ_Config1" doc:name="Anypoint MQ Config" doc:id="d23f7edd-6edd-49ec-9a45-6126f1b6c551" >
        <anypoint-mq:connection url="https://mq-us-east-1.qax.anypoint.mulesoft.com/api/v1" clientId="f8f65e21d83544778c9293889a74bcc0" clientSecret="d3B290FAe0474e80b7E42178FB43CA75" />
    </anypoint-mq:config>
    <anypoint-mq:config name="Anypoint_MQ_Config2" doc:name="Anypoint MQ Config" doc:id="ff879c25-59fb-4662-b7e1-d6a879e4a1a1" >
        <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_Config2"/>
    </flow>
</mule>

Anypoint Studio 6 での Mule 3 アプリケーションの作成および Anypoint MQ への Mule 4 アプリケーションの接続

Mule 3 を使用する場合、Anypoint Studio 6 を使用して、Design Center で作成したアプリケーションと同様の Mule 3 アプリケーションを作成できます。Studio 6 でアプリケーションを CloudHub にデプロイし、curl​ コマンドを送信して接続をテストできます。

このセクションは、Anypoint Studio 6 にのみ適用されます。Studio 7 の場合は、Anypoint Studio 7 での Mule 4 アプリケーションの作成および Anypoint MQ への Mule 4 アプリケーションの接続​を参照してください。

前提条件

  • Studio 6 をインストールします。

  • Anypoint Platform で、Design (デザイン) 以外の任意の環境に変更します。

    [Anypoint Platform]​ > [MQ]​ で作成したキューがこの環境にもあることを確認します。

Anypoint Studio 6 での Anypoint MQ を使用した Mule 3 アプリケーションの設定

Studio 6 で Mule 3 アプリケーションを設定する手順は、次のとおりです。

  1. Studio を開始し、[File (ファイル)]​ > [New (新規)]​ > [Mule Project (Mule プロジェクト)]​ をクリックし、プロジェクトに mq-demo-studio-6​ という名前を付けて、[Finish (完了)]​ をクリックします。

  2. Anypoint MQ コネクタをインストールします。

    1. ツールバーの [Exchange (エクスチェンジ)]​ アイコンをクリックします。

      Studio 6 ツールバーの [Exchange (エクスチェンジ)] アイコン
      Figure 44. 矢印は、Studio 6 ツールバーの [Exchange (エクスチェンジ)]​ アイコンを示しています。
    2. Anypoint Platform のユーザ名とパスワードを入力します。

    3. Exchange で、[Provided by MuleSoft (MuleSoft による提供)]​ を選択し、[Anypoint MQ Connector (Anypoint MQ コネクタ)] を検索します。

      Exchange の [Provided by MuleSoft (MuleSoft による提供)] オプションと検索項目
      Figure 45. このスクリーンショットは、(1​) [Provided by MuleSoft (MuleSoft による提供)]​ オプションと (2​) 検索項目を示しています。
    4. [Anypoint MQ Connector - Mule 3 (Anypoint MQ コネクタ - Mule 3)]​ を選択します。

      Studio 6 では Mule 3 がサポートされます。

    5. [Install (インストール)]​ をクリックします。

      Exchange の [Install (インストール)] アイコン
      Figure 46. 矢印は、Exchange ページの [Install (インストール)]​ アイコンを示しています。
    6. 確認ダイアログで、インストールするアイテムを確認し、[Next (次へ)]​ を 2 回クリックします。

    7. ライセンス契約に同意して [Finish (完了)]​ をクリックします。

    8. 確認ダイアログで、[Restart Now (今すぐ再起動)]​ をクリックし、コネクタのインストールを終了します。

  3. [Mule Palette (Mule パレット)]​ で [HTTP]​ を Studio キャンバスにドラッグします。

    Mule パレットの [HTTP] コネクタ
    Figure 47. 矢印は、[HTTP]​ コネクタを示しています。
  4. [Mule Palette (Mule パレット)]​ で次の操作を行います。

    1. set​ を検索し、[Set Payload]​ をキャンバスの [HTTP] の右側の [Process (プロセス)]​ 領域にドラッグします。

    2. mq​ を検索し、[Anypoint MQ]​ をキャンバスの [Set Payload]​ の右側にドラッグします。

    3. logger​ を検索し、[Logger]​ をキャンバスの [Anypoint MQ]​ の右側にドラッグします。

      Studio 7 キャンバス内のフロー
      Figure 48. 矢印は、キャンバス内のフローを示しています。
  5. キャンバスで [HTTP]​ をクリックします。

  6. [HTTP] プロパティウィンドウで、[General (一般)]​ > [Path (パス)]​ を /mq/{messageId}​ に設定します。

    HTTP プロパティ
    Figure 49. このスクリーンショットは、HTTP コネクタの (1​) [Path (パス)]​ プロパティと (2​) [Connector configuration (コネクタ設定)]​ アイコンを示しています。
  7. HTTP コネクタをクリックし、[Connector Configuration (コネクタ設定)]​ の右にある緑のプラスアイコン (+) をクリックします。

  8. HTTP コネクタの [Global Element Properties (グローバル要素のプロパティ)]​ ウィンドウで、[Host (ホスト)]​ が 0.0.0.0​ に設定され、[Port (ポート)]​ が 8081​ に設定されていることを確認し、[OK]​ をクリックします。

    これで、[HTTP] プロパティウィンドウは、エラーがないことを示します。

  9. キャンバスで [Set Payload]​ をクリックします。

  10. [Set Payload] プロパティウィンドウで、[General (一般)]​ > [Value (値)]​ を次のように設定します。

    #[message.inboundProperties.'http.uri.params'.messageId]
    [Value (値)] 項目のペイロード
    Figure 50. 矢印は、[Value (値)]​ 項目のペイロードを示しています。
  11. キャンバスで [Anypoint MQ]​ をクリックします。

  12. [Anypoint MQ] プロパティウィンドウで、[Connector Configuration (コネクタ設定)]​ の右にある緑のプラスアイコン (+) をクリックします。

  13. Anypoint MQ 設定の [Global Element Properties (グローバル要素のプロパティ)]​ ウィンドウで、Anypoint Platform の情報を追加します。

  14. Anypoint MQ の [Destinations (宛先)]​ ページで [Copy (コピー)]​ をクリックして URL をコピーし、Studio の [URL]​ 項目に貼り付けます。

    [Destinations (宛先)] ページの [Copy (コピー)] ボタン
    Figure 51. 矢印は、Anypoint MQ の [Destinations (宛先)]​ ページの [Copy (コピー)]​ ボタンを示しています。
  15. Anypoint MQ の [Client Apps (クライアントアプリケーション)]​ ページから Studio にクライアントアプリケーション ID とクライアントシークレットをコピーします。

    [Client App ID (クライアントアプリケーション ID)] 項目、[Show (表示)] ボタン、[Copy (コピー)] ボタン
    Figure 52. このスクリーンショットは、(1​) [Client App ID (クライアントアプリケーション ID)]​ 項目、(2​) [Show (表示)]​ ボタン、(3​) [Copy (コピー)]​ ボタンを示しています。
    1. [MQ]​ ページで、[Client Apps (クライアントアプリケーション)]​ をクリックし、DemoClientApp​ をクリックして、詳細ペインを表示します。

    2. [MQ]​ 詳細ペインで、[Client App ID (クライアントアプリケーション ID)]​ 項目の [Copy (コピー)]​ ボタンをクリックし、値を [Anypoint MQ Configuration (Anypoint MQ 設定)]​ ウィンドウの [Client App ID (クライアントアプリケーション ID)]​ 項目に貼り付けます。

    3. [MQ]​ 詳細ペインで、[Client Secret (クライアントシークレット)]​ 項目の [Copy (コピー)]​ ボタンをクリックし、値を [Anypoint MQ Configuration (Anypoint MQ 設定)]​ ウィンドウの [Client Secret (クライアントシークレット)]​ 項目に貼り付けます。

      [Anypoint MQ Configuration (Anypoint MQ 設定)] ウィンドウの [URL] 項目、[Client App ID (クライアントアプリケーション ID)] 項目、[Client Secret (クライアントシークレット)] 項目
      Figure 53. このスクリーンショットは、(1​) [URL]​ 項目、(2​) [Client App ID (クライアントアプリケーション ID)]​ 項目、(3​) [Client Secret (クライアントシークレット)]​ 項目を示しています。
  16. [OK]​ をクリックします。

  17. [Anypoint MQ] プロパティウィンドウで [Operation (操作)]​ 項目をクリックし、メニューから [publish (パブリッシュ)]​ を選択します。

  18. [Destination (宛先)]​を、[Anypoint Platform]​ > [MQ]​ で以前作成した myDemoQueue​ キューに設定します。

    キューは Design (デザイン) 以外の環境に存在する必要があります。

    Anypoint MQ 設定の [Operation (操作)] プロパティと [Destination (宛先)] プロパティ
    Figure 54. このスクリーンショットは、[Anypoint MQ] プロパティウィンドウの (1​) [Operation (操作)]​ プロパティと [Destination (宛先)]​ プロパティを示しています。
  19. キャンバスで [Logger]​ をクリックします。

  20. [Logger] プロパティウィンドウで、[General (一般)]​ > [Message (メッセージ)]​ を MQ Message: #[payload]​ に設定します。

    [Logger] プロパティの [Message (メッセージ)] ペイロード
    Figure 55. 矢印は、[Logger] プロパティウィンドウの [Message (メッセージ)]​ 項目を示しています。
  21. プロジェクトを保存します。

  22. Studio の Package Explorer​ で、mq-demo-studio-6​ を右クリックし、[Anypoint Platform]​ > [Deploy to Cloud (クラウドにデプロイ)]​ を選択します。

  23. 確認ダイアログで、アプリケーションのデプロイ先の環境を選択します。

  24. Anypoint Platform の [Deploying Application (アプリケーションのデプロイ)]​ ウィンドウで [Deploy Application (アプリケーションをデプロイ)]​ をクリックします。

    [Deploying Applications (アプリケーションのデプロイ)] ページの [Deploy Application (アプリケーションをデプロイ)] ボタン
    Figure 56. 矢印は、[Deploying Applications (アプリケーションのデプロイ)]​ ページの [Deploy Application (アプリケーションをデプロイ)]​ ボタンを示しています。

Studio 6 を使用して、Anypoint MQ に接続する Mule 3 アプリケーションを正常に設定しました。次に、REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示することで、接続をテストします。

Studio 6 での Mule 3 アプリケーションのテスト

Mule 3 アプリケーションをテストするには、アプリケーションのテスト​の手順に従って、curl​ コマンドを使用して REST API コマンドを Anypoint MQ Broker API に送信し、Anypoint MQ を使用して結果を表示します。

Studio 6 XML

Anypoint MQ コネクタを使用してアプリケーションを設定したら、次の 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>

Was this article helpful?

💙 Thanks for your feedback!