WildFly 18.x / JBoss EAP 7.x上的Spring Batch分区作业配置

问题描述 投票:0回答:1

我们正在wildfly集群(版本18)或JBoss EAP 7.x中运行一系列Spring Batch分区作业。我们想在集群周围循环分区。因此,出站门方式将ActiveMQ定义的activemq-ra池连接工厂与轮询负载策略一起使用。这部分似乎按预期工作。

此外,每个节点都有一个入站网关来接收分区消息。入站网关使用InVMConnectionfactory配置。目标是每个节点仅处理放置在其队列中的消息。

此方法适用于JBoss EAP5.x。

我们观察到,入站网关的x侦听器线程开始正常工作。但是,当我们通过具有更多分区作业的批处理序列进行处理时,处理入站消息的线程数会减少,从而导致消息留在队列中,并且分区步骤以串行方式而不是并行方式运行。

甚至在单节点服务器上也可能遇到这种现象,但在群集上则更为严重。因此看来问题出在入站网关侦听器和用于检查消息的activeMQ连接中。

任何人都可以建议如何进一步识别和解决此问题吗?

谢谢

spring-integration spring-batch spring-jms activemq-artemis jboss-eap-7
1个回答
0
投票

听起来有些消费者在挨饿,因为其他消费者在缓冲区中保存了未使用的消息。尝试在使用者正在使用的URL上设置consumerWindowSize=0。您可以在ActiveMQ Artemis documentation中了解有关此设置的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.