前回はVMキューのメッセージ送信とイベント処理について使い方を説明しました。今回は、VMのListenerを使わずに手動でメッセージを取得する方法について簡単に説明したいと思います。
今回使うコンポーネント
コンポーネント | アイコン・領域 | 用途 |
---|---|---|
Consume | VMキューに登録済みのメッセージを取得する |
使い方
consumeコンポーネントはキューにPublishしたメッセージを手動で取得するコンポーネントになります。
フローの配置方法については、Publishコンポーネントとは別のフローで、Consumeコンポーネントを配置します。HTTP Listener等のフローに配置しましょう。
一方のHTTP ListenerにVMキューをメッセージ送信するフロー。もう一方のHTTP Listenerにメッセージを取り出すフローを作成してみます。シンプルな配置ですが、以下のようになります。
メッセージをキューに送信するフロー
メッセージを取得するフロー
メッセージをキューに登録するリクエストを実行した後に、
Consumeが含まれているフローを実施すると、このようにpayload(Advancedで設定可)に取得したメッセージがセットされます。
注意点
VMのListenerとの併用不可
consumeコンポーネントはキューのメッセージを手動で取り出すことになるため、キューへの登録とともに自動的に発動するVM Listenerとは同時に使用することができません。
キューへの送信にPubulish consumeは使用しないこと
キューへの送信はPubulishとPubulish consumeの2つがありますが、Pubulish consumeはVM Listenerとの同期を行うためのコンポーネントとなりますので、手動でメッセージを取り出すConsumeに対して使用することはできません。使用した場合はタイムアウトのエラーが発生します。
メッセージ未登録の場合は待機状態になる
キューが空っぽの状態でConsumeすると、待機状態になります。タイムアウトはコンポーネントから設定ができます。
タイムアウトを超えた場合はエラーとなりますので、例外処理を仕込んでおきましょう。
コメント