178.21. 发送仅限消息并保留 JMSReplyTo 标头

使用 camel-jms 发送到 JMS 目的地时,生产者将使用 MEP 来检测其 InOnlyInOut 消息传递。但是,在有些情况下,您可能要发送一个 InOnly 信息,但保留 JMSReplyTo 标头。为此,您必须指示 Camel 保留它,否则 JMSReplyTo 标头将被丢弃。

例如,要将一个 InOnly 消息发送到 foo 队列,但使用 JMSReplyTo,其中有一个带有栏队列的 JMSReplyTo,您可以如下所示:

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 标头。