178.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}