春季批次豆的“步骤”还是“工作”范围?
2022-09-04 22:07:28
我使用Spring-Batch v3.0.0进行批量导入。有一个和一个.我怎么知道哪一个是合适的?StepScopeJobScope
例如,如果我定义了一个自定义或应该使用特定的,它可能看起来像这样:ItemReaderItemWriterEntityManager
@Bean
@Scope("step") //@Scope("job") //custom scope required to inject #jobParameters
public JpaItemWriter<T> jpaItemWriter(EntityManagerFactory emf) {
JpaItemWriter<T> writer = new JpaItemWriter<T>();
writer.setEntityManagerFactory(emf);
return writer;
}
但是,哪个范围在这里呢?为什么呢?
使用范围执行工作,但我觉得 itemWriters 可能应该具有范围,这样它们就不会在每个步骤中重新创建。stepjob
我尝试切换到 ,但这会引发以下错误:stepjobException in thread "main" java.lang.IllegalStateException: No Scope registered for scope 'job'