【发布时间】:2016-02-18 14:45:21
【问题描述】:
Spring Batch docs 表示 Map 支持的作业存储库:
请注意,内存存储库是易失性的,因此不允许在 JVM 实例之间重新启动。它也不能保证两个具有相同参数的作业实例同时启动,并且不适合在多线程作业或本地分区的 Step 中使用。因此,只要您需要这些功能,就可以使用存储库的数据库版本。
我想使用 Map 作业存储库,我不关心重新启动、防止并发作业执行等,但我确实关心能够使用多线程和本地分区。
我的批处理应用程序有一些分区步骤,乍一看,它似乎与 Map 支持的作业存储库一起运行得很好。
它说 MapJobRepositoryFactoryBean 不可能的原因是什么?查看 Map DAO 的实现,他们正在使用 ConcurrentHashMap。这不是线程安全的吗?
【问题讨论】:
标签: multithreading spring-batch partitioning