我需要在指定的时间间隔内将消息从 Queue1 转发到 Queue2,而不是在消息到达 Queue1 之后。下面是我的配置。
<int-jms:inbound-channel-adapter id="inboundChannelAdapterId" connection-factory="connFactory" destination="jmsQueue1" channel="queueChannel" >
<int:poller send-timeout="2000" >
<!--
<int:interval-trigger initial-delay="60000" interval="60000"
fixed-rate="true"/>
-->
<int:cron-trigger expression="0 0/1 * * * ?" />
</int:poller>
</int-jms:inbound-channel-adapter>
<int-jms:outbound-channel-adapter channel="queueChannel" connection-factory="connFactory" destination="jmsQueue2" >
</int-jms:outbound-channel-adapter>
<int:channel id="queueChannel" />
上面的 xml 配置将消息立即从 Queue1 转发到 Queue2,忽略 <int:poller> 配置。我已经尝试了基于间隔和基于 cron 的解决方案,它们似乎工作相似(立即将消息从 Queue1 传递到 Queue2)。这里的“poller”配置有什么问题吗?任何帮助都感激不尽。