【问题标题】:Access job parameter in ItemReader (spring-batch using grails)在 ItemReader 中访问作业参数(使用 grails 的 spring-batch)
【发布时间】:2012-12-13 11:10:57
【问题描述】:

我正在从我的服务中启动一项工作,代码看起来像

def jobParameters = new JobParametersBuilder()
                .addDate('toDate',toDate)
                .addDate('fromDate',fromDate)
def jobEx = jobLauncher.run(billProcessJob,jobParameters.toJobParameters())

并且它正在成功执行。但我需要在我的项目阅读器中访问上述作业参数。我的物品阅读器看起来像

class MyDomainMapper implements FieldSetMapper {
def mapLine(FieldSet fs) {
    if(!fs) {
         return null
    }
log.debug('Record:'+fs);//Printing the file record successfully

//Here I need to access my job parameter to map with some domain
}
}

任何人都可以告诉我如何实现它吗? 谢谢

【问题讨论】:

    标签: java grails spring-batch


    【解决方案1】:

    您可以在 spring-batch 上下文中定义一个 bean:

    <bean id="executionContext" class="com.xxx.ExecutionContextImpl" scope="step" >
        <property name="toDate" value="#{jobParameters['toDate']}"  />
        <property name="fromDate" value="#{jobParameters['fromDate']}"  />
    </bean>
    

    然后在您的 ItemReader 中注入 executionContext 以访问您的作业参数变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 2015-05-20
      • 2015-11-25
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多