在这个文档中,它展示了如何传入上下文数据
@JobScope
@Bean
public FlatFileItemReader flatFileItemReader(@Value("#{jobExecutionContext['input.name']}") String name) {
return new FlatFileItemReaderBuilder<Foo>()
.name("flatFileItemReader")
.resource(new FileSystemResource(name))
...
}
我将@Value("#{jobExecutionContext['input.name']}") String name
改为@Value("#{jobExecutionContext}") Map<String, Object> context
,我想传入一个对象,并在context.put("aa","bb)
步骤中放入额外的数据,然后将这些新数据传递到下一步。但由于context
对象是UnmodifiableMap,因此引发了异常。
这些教程只提到了如何获取数据,但没有展示如何设置数据。
更新1:如果我有一个@SteopScope ItemWriter\ItemReader\ItemProcessor,传入上下文数据的唯一可能方法是使用构造函数注入?
1条答案
按热度按时间8wtpewkr1#
我想传入一个对象,并将额外的数据放入步骤上下文中。put(“aa”,“bb),然后将这些新数据传递到下一步。
在步骤之间传递数据将在本节中进行说明:将数据传递到后续步骤。您可以将步骤执行注入到所需的组件中,以访问执行上下文。然后可以根据需要设置要传递的属性。