2.22. JMS
JMS Queue または Topic との間でメッセージを送受信します。
2.22.1. 含まれるもの
-
JMS コンポーネント、URI 構文:
jms:destinationType:destinationName
使用方法と設定の詳細については、上記リンクを参照してください。
2.22.2. Maven コーディネート
code.quarkus.redhat.com でこのエクステンションを使用して新しいプロジェクトの作成
または、既存のプロジェクトに座標を追加します。
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-jms</artifactId> </dependency>
2.22.3. 使用方法
2.22.3.1. org.w3c.dom.Node
を使用したメッセージマッピング
Camel JMS コンポーネントは、javax.jms.Message
および org.apache.camel.Message
間のメッセージマッピングをサポートします。Camel メッセージ本文タイプ org.w3c.dom.Node
を変換する場合は、camel-quarkus-jaxp
エクステンションがクラスパスに存在することを確認する必要があります。
2.22.3.2. javax.jms.ObjectMessage のネイティブモードのサポート
JMS メッセージペイロードを javax.jms.ObjectMessage
として送信する場合、シリアル化のために登録する関連クラスに @RegisterForReflection (serialization = true)
でアノテーションを付ける必要があります。このエクステンションは、quarkus.camel.native.reflection.serialization-enabled = true
を自動的に設定することに注意してください。詳細については、ネイティブモードのユーザーガイド を参照してください。
2.22.4. ネイティブモードの transferException オプション
ネイティブモードで transferException
オプションを使用するには、オブジェクトのシリアル化のサポートを有効にする必要があります。詳細については、ネイティブモードのユーザーガイド を参照してください。
また、シリアル化する予定の例外クラスのシリアル化を有効にする必要があります。たとえば、以下のようになります。
@RegisterForReflection(targets = { IllegalStateException.class, MyCustomException.class }, serialization = true)