我是春季批次的新手,所以在这里询问一些基本建议。
在 spring 作业/步骤运行时将配置文件加载到内存(或 bean)中并使用其内容的最佳方法是什么?
我不确定,但基于一些谷歌搜索,我发现了以下场景,即使我不太明白为什么我应该定义一个作家,即使我不需要它:
- step1 : 加载配置文件(内容是由=分隔的两个字段)
- step2 : 执行一些java代码并使用之前的配置文件
所以对于第 1 步:
<bean id="inputFile" class="org.springframework.core.io.FileSystemResource" scope="step">
<constructor-arg value="path_config_file"/>
</bean>
<bean id="readerConfigFile" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
<property name="resource" ref="inputFile"/>
<property name="lineMapper">
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
<property name="lineTokenizer">
<bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="names" value="field,value"/>
<property name="delimiter" value="="/>
</bean>
</property>
<property name="fieldSetMapper">
<bean class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="configProperties"/>
</bean>
</property>
</bean>
</property>
</bean>
<bean id="outputConfig" class="outputConfig"></bean>
<bean id="configProperties" class="configProperties" scope="prototype"/>
所以我的问题是:
- 如何使用文件中收集的信息?我应该把它们放在 Java bean 中吗?
- 如何在不同步骤之间传递此信息或使它们在整个应用程序生命周期中持久存在?
- 你会推荐使用 itemProcessor 来实现上述目标吗?
非常欢迎任何建议