0
我们使用Spring Integration 2.1将消息保存到客户端发送的数据库中。弹簧集成在数据库不可用时阻止轮询
有一个队列将由自定义适配器填充。配置的服务激活器轮询此队列并将消息发布到Spring管理的@Repository bean。所有的错误都会被捕获到一个错误通道,并且会被服务处理。配置工作到目前为止很好。
我的问题是,如果数据库不可用,服务激活器将轮询来自队列的所有传入消息并将它们放入错误通道。 如果数据库明显不可用,例如通过发送测试查询,是否有办法阻止服务激活器轮询消息?
我configuraton:
<int:channel id="inChannel">
<int:queue />
</int:channel>
<bean id="service" class="some.service.Service" />
<int:service-activator ref="service"
method="write" input-channel="inChannel">
<int:poller fixed-rate="100" task-executor="srvTaskExecutor"
receive-timeout="90" error-channel="errChannel" />
</int:service-activator>
<task:executor id="srvTaskExecutor" pool-size="2-10"
queue-capacity="0" rejection-policy="DISCARD" />
<int:channel id="errChannel" />
<int:service-activator input-channel="errChannel"
ref="errorService" method="write"/>
问候。
我决定来定义控制总线和启动/你提出的停止服务激活。感谢你及时的答复。 – Ismail 2012-02-23 14:20:01