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

以永久队列为应答通道的Spring批划分

洪照
2023-03-14

然而,我想澄清我所看到的。首先,这是针对一个在多服务器集群上运行40+个分区作业的系统。现在入站网关的配置是:

<int-jms:inbound-gateway id="springbatch.inbound.gateway" 
  connection-factory="springbatch.jmsConnectionFactory" 
  request-channel="springbatch.slave.jms.request" 
  request-destination="requestsQueue" 
  reply-channel="springbatch.slave.jms.response" 
  concurrent-consumers="2" 
  max-concurrent-consumers="2"/>

出站网关为:

<int-jms:outbound-gateway 
  id="outbound-gateway-1"   
  auto-startup="false"
  connection-factory="jmsConnectionFactory" 
  request-channel="partitioned.jms.requests" 
  request-destination="jms.requestsQueue" 
  reply-channel="partitioned.jms.reply" 
  reply-destination="jms.repliesQueue"
  correlation-key="JMSCorrelationID">
  <int-jms:reply-listener/>        
</int-jms:outbound-gateway>

然后,我添加了一个作业监听器,用于在作业启动和停止时启动和停止出站网关。当我启动系统时,JBoss JMX控制台显示请求队列中有2个消费者,响应队列中没有预期的消费者。

  • 如果额外的处理程序来自replyListener,那么作业监听器是否也需要停止并启动它?
  • 如果额外的处理程序来自其他东西,我如何控制它?
  • 如何进一步隔离和解决此问题?

谢谢

共有1个答案

龚鸿雪
2023-03-14

这个要旨的测试对我来说很有效。

你能在你的环境中测试它吗?

如果成功,请将调试日志与实际应用程序中的日志进行比较。

 类似资料:
  • 我试图理解多个线程是否可以并发/并行来自Spring集成队列通道的消息。假设我有以下配置: 如果无法实现队列通道中消息的并发处理,建议采用什么方法

  • 我想在我的项目中使用Laravel队列系统,我想运行php artisan队列:在服务器的后台永久工作,我对此进行了一些搜索,找到了一个命令行,即使从ssh终端退出后也可以运行它,但在某些情况下它可能会停止运行,并可能给我带来严重的问题。所以过了一段时间,我发现有一个名为Supervisord的包,它可以在服务器重新启动后重新启动命令。因此,我想请某人逐步帮助从0到100如何在centos 7上安

  • 我对Spring和RabbitMQ有以下配置: 为了防止这种情况,我想创建持久队列(因为这些队列的持久度设置为false,自动删除设置为true)。如果不是,我想在这些队列上设置一些过期时间(例如,1小时或其他时间)。从RabbitMQ文档来看,我们似乎可以在头中传递这些值,但是,这只适用于版本3.6.0以后的版本,因为我们有3.5.4,它不是一个选项。 有没有其他方法可以配置它?(另一种方法是为

  • 问题内容: 在过去的几天里,我一直在尝试通过重构我的一个命令行实用程序来在Golang中进行并发,但是我被困住了。 这是原始代码(master分支)。 这是并发分支(x_concurrent分支)。 当我使用执行并发代码时,如果将JIRA问题添加到此处的通道,则永不执行,这将导致我永远挂起。 我的想法是,我有大量的JIRA问题,我想为每个goroutine编写一个goroutine,以查看是否需要

  • 到目前为止,对于RabbitMQ中的一个队列,我使用了一个通道,但现在我动态创建了多个队列,所以我必须为每个队列创建一个新通道,还是一个通道可以从不同的队列接收/发送消息?