如果在发送带有spring集成的消息时jms代理已关闭,如何停止异常传播?

时间:2012-11-19 12:29:30

标签: spring jms activemq spring-integration

我配置了基于spring xml的拦截器,它在提交后在某些事务方法的每次调用时向activemq队列发送一条jms消息。它发生在以下xml代码中。

<jms:outbound-channel-adapter channel="filteredStakesChannel" destination="stakesQueue" delivery-persistent="true" explicit-qos-enabled="true" />

但是如果activemq服务器关闭,我会得到连接拒绝异常,这是传播的,即使jms传递失败,我也不希望这种情况发生。这可能吗? 我应该使用一些错误频道吗?

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是使fileredStakesChannel成为Executor通道,发送将在不同的线程上运行。

http://static.springsource.org/spring-integration/reference/html/messaging-channels-section.html#executor-channel

http://static.springsource.org/spring-integration/reference/html/messaging-channels-section.html#channel-configuration-executorchannel

使用&lt; task /&gt;命名空间,用于定义要使用的执行程序。