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