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