1

我已经在当前成功地使用了 Spring Integration 来满足一些需求。惊人的..

在重负载时观察到一些奇怪的行为,其中同一条消息似乎被处理了不止一次。我可以确认,因为数据库中有多行,这通常是通过通道配置的链上的最后一个命令。

进一步深入手册,看起来负载平衡似乎是由 spring 自动完成的。该手册说消息在多个消息处理程序之间是平衡的。

问题是:

  1. 默认情况下,一个通道上有多少个处理程序?加载的 spring XML 似乎没有该配置。我所做的就是这个(根据手册中的建议):
<int:channel id="SwPath.Channel"/>
<int:chain id="SwPath.chain" input-channel="SwPath.Channel">
</int:chain>

我可以禁用故障转移,但我很想知道默认情况下存在多少。

4

1 回答 1

0

自从我研究这些负载平衡器已经有一段时间了,但我记得线程池中的默认线程数在 2 到 10 之间。

您可能发现了并发错误。

如果您打开 TRACE 日志记录,负载均衡器将为您提供大量信息,但这很容易隐藏问题。

如果您要使用 JUnit 测试用例创建 JIRA 问题,我相信更容易弄清楚究竟发生了什么。

于 2012-10-18T12:19:24.660 回答