3
我需要在指定的時間間隔內將隊列1中的消息轉發到隊列2,但不是僅在消息到達隊列1後。以下是我的配置。在Spring JMS集成中配置基於時間間隔的cron
<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配置立即將消息轉發從隊列1到隊列2,而無視< INT:輪詢>配置。我已經嘗試了基於間隔的和基於cron的解決方案,他們似乎工作相似(立即從Queue1到Queue2傳遞消息)。這裏的「輪詢器」配置有什麼問題嗎?任何幫助都感激不盡。
感謝您的回覆。我嘗試了您的建議,但沒有解決問題。當我通過文檔再次@ [鏈接](http://static.springsource.org/spring-integration/reference/htmlsingle/),它告訴我一些東西,這個功能不支持基於隊列的適配器作爲他們的接收是不是等待? **另一方面,當使用Spring Integration自己的基於隊列的通道時,超時值確實有機會參與。以下示例演示howa Polling Consumer幾乎會立即收到消息。** 您曾嘗試過嗎?再次感謝! – CoderTR 2012-03-10 04:14:44
您使用的是什麼版本的Spring集成? 行爲在2.0.4中更改爲默認情況下不執行阻止呼叫。 https://github.com/garyrussell/spring-integration/commit/b59bdc0d70087b015589a70ed3cb32ef44cf6dd6 – 2012-03-12 19:38:36
當前的2.0.x版本是2.0.5;但2.1.0也可用。 – 2012-03-12 19:42:36