179.8. 送信時のメッセージ形式
JMS ワイヤを介して送信される交換は、JMS メッセージ仕様 に準拠する必要があります。
exchange.in.header
の場合、次のルールがヘッダー キー に適用されます。
-
JMS
またはJMSX
で始まるキーは予約されています。 -
exchange.in.headers
キーはリテラルで、すべて有効な Java 識別子である必要があります (キー名にドットを使用しないでください)。 -
Camel は、JMS メッセージを消費するときにドットとハイフンを置き換え、その逆を行います。
.
はDOT
に置き換えられ、Camel がメッセージを消費するときは逆の置き換えになります。
-
はHYPHEN
に置き換えられ、Camel がメッセージを消費するときは逆の置き換えになります。 -
オプション
jmsKeyFormatStrategy
も参照してください。これにより、キーのフォーマットに独自のカスタム戦略を使用できます。
exchange.in.header
の場合、次のルールがヘッダー 値 に適用されます。
-
値は、プリミティブまたはそのカウンターオブジェクト (
Integer
、Long
、Character
など) である必要があります。タイプString
、CharSequence
、Date
、BigDecimal
、およびBigInteger
はすべて、それらのtoString()
表現に変換されます。他のすべてのタイプはドロップされます。
Camel は、特定のヘッダー値を削除すると、カテゴリー org.apache.camel.component.jms.JmsBinding
で DEBUG レベルでログに記録します。以下に例を示します。
2008-07-09 06:43:04,046 [main ] DEBUG JmsBinding - Ignoring non primitive header: order of class: org.apache.camel.component.jms.issues.DummyOrder with value: DummyOrder{orderId=333, itemId=4444, quantity=2}