0

私は自分のサービスからジョブを起動しており、コードは次のようになります

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
}
}

どうすればそれを達成できるか教えてもらえますか?ありがとう

4

1 に答える 1

2

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>

次にexecutionContext、ItemReaderにを挿入して、ジョブパラメータ変数にアクセスします。

于 2012-12-13T14:04:38.977 に答える