26.19. 发送 InOnly 消息并保持 JMSReplyTo 标头
当使用 camel-jms 发送到 JMS 目的地时,生成者将使用 MEP 检测其 InOnly 或 InOut 消息传递。但是,有时您可能需要发送 InOnly 消息,但保留 JMSReplyTo 标头。为此,您必须指示 Camel 保留它,否则将丢弃 JMSReplyTo 标头。
例如,要将 InOnly 消息发送到 foo 队列,但带有 JMSReplyTo 及 bar 队列,您可以按照以下方法执行以下操作:
template.send("activemq:queue:foo?preserveMessageQos=true", new Processor() {
public void process(Exchange exchange) throws Exception {
exchange.getIn().setBody("World");
exchange.getIn().setHeader("JMSReplyTo", "bar");
}
});
请注意,我们使用 preserveMessageQos=true 来指示 Camel 保持 JMSReplyTo 标头。