一个模块每隔N秒向消息代理发送一条消息。另一个模块从代理接收消息。消息构建在服务激活器的方法sendMessage中。该计划是使用入站通道适配器(如答案中所示),但由于某些原因,此解决方案不起作用,我一直收到"在投票期间未收到任何消息,返回' false'"&#34 ;。这个配置有什么问题?
<int-jms:inbound-channel-adapter id="keepAlivePoller" channel="keepAliveChannel" destination="keepAlive" connection-factory="connectionFactory">
<si:poller id="sendPoller" fixed-rate="${keepalive.sendinterval}" max-messages-per-poll="1"></si:poller>
</int-jms:inbound-channel-adapter>
<si:service-activator input-channel="keepAliveChannel" method="sendMessage" ref="keepAliveSender"/>
<bean class="com.foo.KeepAliveSender"/>
<si:channel id="keepAliveChannel"/>
答案 0 :(得分:0)
只有在&#34; keepAlive&#34;中有消息时才会发送消息。队列中。
你可以简单地使用......
<int:inbound-channel-adapter id="keepAlivePoller" channel="keepAliveChannel"
expression="'foo'">
<si:poller id="sendPoller" fixed-rate="${keepalive.sendinterval}" />
</int:inbound-channel-adapter>
......根本不使用JMS。