如何在使用Java DSL时设置消息的TTL?设置TTL Apache Camel JAva DSL
我有这样的事情:
...
from ("timer:something?delay=3000&period=15000")
...
.to("{{some.property}}")
.end()
...
我想设置一个时间住在发送的消息。
如何在使用Java DSL时设置消息的TTL?设置TTL Apache Camel JAva DSL
我有这样的事情:
...
from ("timer:something?delay=3000&period=15000")
...
.to("{{some.property}}")
.end()
...
我想设置一个时间住在发送的消息。
我结束了设置消息的JMSExpiration头字段创建类似以下
.setHeader("JMSExpiration", constant(System.currentTimeMillis() + 1000))
我们使用Apache ActiveMQ 5.7。
我假设TTL的意思是生存时间。
在骆驼这是组件具体如何处理这一点。一些组件支持这一点,而其他组件则不支持。
你应该检查你使用的组件的文档,它支持什么。
如果你使用JMS组件然后它作为记录的传输TimeToLive选项:http://camel.apache.org/jms
与心灵有关的问题“客户端和服务器时钟的可能是不同步的”。在Camel JMS页面上有一些细节。一些消息代理有办法用它的时间戳插件同步的时钟,如Apache ActiveMQ的:http://activemq.apache.org/timestampplugin.html
计时器组件刚刚创建了一个事件,它没有任何事件发生在这个事件的生命周期中,我想在其他组件上使用TTL,你可以指定组件发送事件通过 – dursun 2013-03-19 23:55:27
省略了创建消息的逻辑。正在创建的消息是一个通过对象消息发送的自定义可序列化对象。 – wxkevin 2013-03-20 11:10:56