我有理解某事的问题。我正在使用Spring-Batch,配置了一个带有任务执行程序的tasklet。在task-executor上很少配置工作正常,其他配置似乎没有执行tasklet。我不明白,为什么他们中很少有人让Spring-Batch工作,但其他人则让它远离工作。我希望有人能把光带入黑暗中。
有效的是,例如。
<task:executor id="myExecutor" pool-size="10" queue-capacity="1000000" />
<task:executor id="myExecutor" pool-size="10-50" queue-capacity="10000000" />
什么不起作用,看起来线程没有启动或中断或没有被接收:
<task:executor id="myExecutor" pool-size="5-10" queue-capacity="10000000" />
<task:executor id="myExecutor" pool-size="5-10" queue-capacity="10" />
<task:executor id="myExecutor" pool-size="5-50" queue-capacity="10000000" />
<task:executor id="myExecutor" pool-size="10-50" queue-capacity="1" />
这项工作是这样的:
<batch:job id="myJob">
<batch:decision ... />
<batch:step id="myStep">
<batch:tasklet task-executor="myExecutor">
<batch:chunk reader="..." processor="..." writer="..." commit-interval="1000" />
</batch:tasklet>
</batch:step>
</batch:job>
也许我遗漏了一些关于task:executor
的基本知识。我怎么知道pool-size
,queue-capacity
或类似的有什么好的价值。我想当配置在我的系统上正常工作时,我没有那种感觉可以保证它在任何地方都能正常工作。当工作开始时,背景会发生什么,但后来没有什么事情发生。我也可以在Windows性能任务管理器下看到,该工作不再做任何事情了。
感谢您的明确解释。