我正在浏览 spring 集成参考文档,在第 10.1.8 节异步轮询中,它写道,不协调的 conf 可能会导致内存泄漏。
根据下面的文档,conf 不协调:
<int:channel id="publishChannel">
<int:queue />
</int:channel>
<int:service-activator input-channel="publishChannel" ref="myService">
<int:poller receive-timeout="5000" task-executor="taskExecutor" fixed-rate="50" />
</int:service-activator>
<task:executor id="taskExecutor" pool-size="20" />
我在理解本节时遇到困难,因为它写的是每秒将执行 4 个线程,因为每个线程将等待 250 毫秒,并且任务将以每秒 20 个的速度添加。
任务执行器是否应该只分配 1 个线程来等待传入消息,并且应该启动最大线程以防队列中有足够的任务?另外,为什么每秒只有 4 个线程执行,如果任务花费超过 250 毫秒怎么办?
如果它太简单并且我错过了一些微不足道的东西,请道歉。
潇湘沐
相关分类