メッセージのパブリッシュ

Anypoint MQ コネクタの Publish 操作では、新しい Anypoint MQ メッセージを作成し、指定した宛先 (キュー、FIFO キュー、メッセージ交換) に送信できます。この操作を使用して、メッセージのコンテンツだけではなく、必要なヘッダーとプロパティをすべて設定できます。

メッセージの送信

デフォルトの形式で使用されれば、コネクタはメッセージのペイロードに含まれているどのような情報もパブリッシュします。

<anypoint-mq:publish destination="invoiceQueue" config-ref="MQ_config"/>

しかし、ペイロードが正しい形式でなく、実際に変換を行う必要がある場合にはどうでしょうか? publish 操作の前に DataWeave 変換を配置できますが、そうするとメッセージのペイロードが変更され、publish 操作の後に配置された操作に影響を及ぼします。

この不要な影響を回避するには、publish 操作の内部にトランスフォーマを配置します。

<anypoint-mq:publish destination="invoiceQueue" config-ref="MQ_config">
  <anypoint-mq:body>#[%dw 2.0
   output application/json
   ---
   payload.payments
   ]</anypoint-mq:body>
</anypoint-mq:publish>

変換を使用すると、送信中のメッセージに副次的影響をもたらさずに、パブリッシュされるコンテンツを生成することができます。

ユーザプロパテの設定

すべての Anypoint MQ メッセージでプロパティセットを使用できます。これは、他のメッセージングシステムとの互換性の提供、またはメッセージの content-type のと通信など、さまざまな方法で使用できます。 publish 操作では、メッセージ内でこれらのプロパティを直接設定することができます。

送信メッセージのプロパティを設定する必要がある場合は、メッセージ内の properties 要素を使用できます。

<anypoint-mq:publish config-ref="MQ_config" destination="${bridgeDestination}"
                     properties="#[{AUTH_TYPE: 'jwt', AUTH_TOKEN: attributes.queryParams.token}]">
    <anypoint-mq:body>#["bridged_" ++ payload]</anypoint-mq:body>
</anypoint-mq:publish>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub