Camel setBody 使用 Spring 配置
Camel setBody using Spring configuration
我使用以下方法构建了 Java Camel Timer-JMS 路由:
context.addRoutes(new RouteBuilder() {
public void configure() {
from("timer:foo?period=1s").setBody(body().
append("Message at ${date:now:yyyy-MM-dd HH:mm:ss}")).to("jms:queue:activemq/queue/TestQueue");
}
});
现在我需要把它变成Spring。
<camel:route>
<camel:from uri="timer:foo?period=1s" />
<camel:to uri="jms:queue:activemq/queue/TestQueue" />
</camel:route>
我在 Spring XML 表达式配置中缺少等效项:
setBody(body().append("Message at ${date:now:yyyy-MM-dd HH:mm:ss}")
在Spring中,您可以使用简单的语言来构建此类消息。其实你也可以在Java中这样做,也是一样的。
<setBody>
<simple>${body}Message at ${date:now:yyyy-MM-dd HH:mm:ss}</simple>
</setBody>
注意计时器会发送一个 empty/null 正文。所以你可能会在消息中看到"null"。
我使用以下方法构建了 Java Camel Timer-JMS 路由:
context.addRoutes(new RouteBuilder() {
public void configure() {
from("timer:foo?period=1s").setBody(body().
append("Message at ${date:now:yyyy-MM-dd HH:mm:ss}")).to("jms:queue:activemq/queue/TestQueue");
}
});
现在我需要把它变成Spring。
<camel:route>
<camel:from uri="timer:foo?period=1s" />
<camel:to uri="jms:queue:activemq/queue/TestQueue" />
</camel:route>
我在 Spring XML 表达式配置中缺少等效项:
setBody(body().append("Message at ${date:now:yyyy-MM-dd HH:mm:ss}")
在Spring中,您可以使用简单的语言来构建此类消息。其实你也可以在Java中这样做,也是一样的。
<setBody>
<simple>${body}Message at ${date:now:yyyy-MM-dd HH:mm:ss}</simple>
</setBody>
注意计时器会发送一个 empty/null 正文。所以你可能会在消息中看到"null"。