当我同时启动两个作业时,似乎在不同的作业中使用了相同的读取器对象。这是有问题的,因为我们在读者中保留了有关整个工作的一些信息。
以下是一切如何设置的示例:
@Bean(name = "MyJob")
public Job job(Step myStep) { create job and return it }
@Bean
public Step myStep(
@Qualifier("myReader") ItemReader<Object> reader,
@Qualifier("myWriter") ItemWriter<Object> writer)
{ create step and return it }
@Bean
public ItemReader<Object> myReader(
@Qualifier("dataSource") DataSource dataSource) { returns new MyReaderObject }
MyReaderObject
本身也有@StepScope。有什么遗失的吗?我能做些什么,以便每个作业实例都有自己的读者对象?