设置了队列大小的taskExecutor如何与文件输入适配器的AcceptOnceFileListFilter过滤器一起使用

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

据我了解

  1. 如果你有10个池大小和50个队列大小的taskExecutor,在所有线程都被占用并且队列已满并且我没有设置调用者策略的情况下,我认为默认调用者是中止策略,它拒绝新的轮询文件已满。

但是,如果我将轮询固定速率设置为 2000 且 max-message-per-poll=10,这是否意味着一旦队列有空间,它实际上会“重试”中止的文件/任务,或者不会,因为我正在使用 AcceptOnceFileListFilter (因为不确定被拒绝的任务是否意味着它已经被接受了一次)

我需要发生什么:我有一个输入文件适配器,它正在轮询目录并处理从 MQ 接收的 .txt 文件。如果线程池+队列已满,那么它应该等到当前处理完成,然后在线程/队列空闲时继续添加更多。 (我正在使用 Spring Integration xml)

spring-integration
1个回答
0
投票

如果任务执行器无法接受新任务,则不会轮询任何新文件,也不会与之交互

AcceptOnceFileListFilter
。因此,这就像在每个轮询上重试,但不是每个文件重试,而是将整个命令本身作为任务重试。

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