31.7. 发送时的消息格式
通过 JMS 有线发送的交换必须符合 JMS 消息规格。
对于 exchange.in.header
,以下规则适用于标头 键 :
-
从
JMS
或JMSX
开头的密钥将被保留。 -
exchange.in.headers
键必须是字面数,并且全部都是有效的 Java 标识符(不要在密钥名称中使用点)。 -
Camel 在消耗 JMS 消息时替换句点和连字符,在 Camel 使用消息时被 'DOT' 替代,并在 Camel 使用消息时替换反向替换。
-
被 'HYPHEN' 替换,并在 Camel 消耗消息时替换反向替换。
-
另请参阅
jmsKeyFormatStrategy
选项,该选项允许使用您自己的自定义策略进行格式化密钥。
对于 exchange.in.header
,以下规则适用于 标头值 :
-
值必须是 primitives 或其计数器对象(如
Integer
、Long
、Character
)。类型、字符串
、CharSequence
、日期
、MuterDecimal
和BigInteger
都转换为其toString ()
表示。所有其他类型都会丢弃。
如果它丢弃给定标头值,Camel 会在 DEBUG 级别使用类别 org.apache.camel.component.jms.JmsBinding
记录。例如:
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}