【发布时间】:2016-02-06 06:43:21
【问题描述】:
我正在尝试将消息延迟几秒钟以使其排队。 但是当我使用骆驼延迟选项时,它不是在队列中延迟,而是立即被消耗,并在路由路径中延迟。 我们如何才能延迟消息,以便它们在队列中等待几秒钟?
我的带有骆驼配置的弹簧如下所示。
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>
<camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring">
<route id="routeOne" delayer="10000">
<from uri="jms://queueone?concurrentConsumers=1"/>
<log message="routeOne incoming message ${body}"/>
<delay><constant>30000</constant></delay>
<process ref="loggerProcessor"/>
</route>
</camelContext>
<bean id="loggerProcessor" name="loggerProcessor" class="emh.LoggerProcessor"/>
【问题讨论】:
-
一些 JMS 实现支持延迟消息传递。你用的是哪一个?
标签: jms apache-camel