我相信我在这里遇到了范围界定问题。
项目说明:
目标是处理任何传入的文件(在磁盘上),包括元数据(存储在 SQL 数据库中)。为此,我有两个小任务(FileReservation 和 FileProcessorTask),它们是总体“工人”工作中的步骤。他们等待一个事件开始他们的工作。有几个线程处理并发作业。FileReservation tasklet使用作业上下文将fileId发送到FileProcessorTask 。
一个单独的作业(无限期运行)检查数据库中的新文件元数据记录,并在发现新记录时使用已发布的事件“唤醒” FileReservationTask 小任务。
使用当前配置,当 FileReservation 小任务被唤醒时,作业的第二步可能会收到空消息。
如果您取消注释BatchConfiguration中的代码,您会发现当我们有单独的 bean 实例时它可以工作。
非常感谢任何指针。
谢谢!