从stepExecutionContext获取读者资源

时间:2014-09-11 14:44:22

标签: java spring spring-batch

我想在我的spring-batch应用程序中实现分区步骤。 我已经编写了一个分区程序并尝试在我的步骤中使用它。我的分区程序扫描文件系统目录并获取要读取的文件,每个执行上下文都有一个文件。所以我想将这些文件从步骤执行上下文设置为我的读者的资源属性。 我找到了基于xml的配置解决方案。它是这样的:

<bean id="itemWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step"> <property name="resource" value="file:#{stepExecutionContext[startId]}.csv" /> ... </bean>

但我正在使用基于java的配置。我怎样才能在java代码中实现它?

1 个答案:

答案 0 :(得分:1)

java配置中的后期绑定仍然可用。下面是您在XML中为java配置提供的示例:

    @Bean
    @StepScope
    protected FlatFileItemWriter value(@Value("#{stepExecutionContext[startId]}") String startId) {
        ...
    }

话虽这么说,使用java配置,你必须自己解决加载资源的问题。使用XML,我们会将该字符串转换为适合您的资源。