当前位置: 首页 > 知识库问答 >
问题:

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

白博赡
2023-03-14

配置了基于xml的spring拦截器,它在提交某些事务方法后每次调用时都向activemq队列发送jms消息。下面的xml代码就是这样。

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

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

共有1个答案

林彬
2023-03-14

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

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-配置执行器通道

使用

 类似资料:
  • 如何延迟JMS消息发送或在不确定的时间内继续? 我使用的是Weblogic,正如您所知,在JMS发送之后,接收方将异步处理消息,但是,此时或有时外部资源还没有为接收方做好准备,因此,我想使用一些检查逻辑来延迟发送或处理消息。我猜例如:我将消息放入挂起队列,然后频繁检查资源可用性,一旦发送或继续消息? 大家都知道Weblogic是否支持这一点,或者如何实现它吗?

  • 我有一个监控服务,它在应用程序启动、应用程序关闭和每分钟(滴答)向RabbitMQ发送消息。 启动和勾选事件工作正常。最初编写类时,关闭事件也起作用。 我正在使用spring-boot-starter-amqp 1.3.3。释放 该事件是在DisposableBean接口的destroy方法上触发的。 我也尝试过实现

  • 我在这里得到的例外情况是: 通过字段“jms template”表示的不满足的依赖关系;嵌套异常为org.springframework.beans.factory.beanCreationException:创建类路径资源[com/investmentbank/equityfeedsprocessingremission/config/config.class]中定义的名为“JMS Templa

  • 我们有一个用例,其中我们只创建一个消费者来处理队列中的消息。消息处理器在确认之前积累一定数量的消息。以异步方式接收消息并使用事务会话。消息的大小非常小。 在一定数量的消息之后,主动MQ停止向唯一的消费者发送进一步的消息,并等待确认。我们尝试过像consumer.prefetchSize,consumer . maximumpendingmessagelimit;但是什么都不管用。我们用一个只有一个

  • < b >想改进这个问题?通过编辑此帖子更新问题,使其只关注一个问题。 如何以以下形式发送消息: 用Spring邮件?

  • null 谁能给我一个向RabbitMQ发送消息的标准程序的例子。我正在使用Spring Boot,也可以使用它的特性。