179.8. 发送时的消息格式
通过 JMS 线发送的交换必须符合 JMS 消息规格。
对于 exchange.in.header
,以下规则适用于标头 键 :
-
以
JMS
或JMSX
开头的键被保留。 -
exchange.in.headers
键必须是 literals,且所有为有效的 Java 标识符(请勿在键名称中使用点)。 -
当使用 JMS 消息时,Camel 替换了 dots & hyphens 和 reverse (反向替换
),
当 Camel 使用消息时,Camel 使用消息。
-
被HYPHEN
替换,并在 Camel 使用消息时反向替换反向替换。
-
另请参阅
jmsKeyFormatStrategy
选项,它允许使用您自己的自定义策略进行格式化密钥。
对于 exchange.in.header
,以下规则适用于 标头值 :
-
值必须是原语或其计数器对象(如
整数
、长
、Character
)。Type,String
,CharSequence
,Date
,BigDecimal
和BigInteger
都转换为其toString ()
表示。所有其他类型都会被丢弃。
如果 Camel 丢弃给定的标头值,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}
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}