0
我有一個基本的彈簧批處理作業(spring-core-3.1.1)應用程序安裝程序,它使用quartz scheduler(1.8.6)運行。它看起來像這樣,將批處理作業參數彈簧複製操作
- spring batch job has a mysql datasource to save job states in spring batch schema
- job Reader is a csvFile reader using class org.springframework.batch.item.file.FlatFileItemReader
- Writer is simple custom ItemWriter (output is on console)
- quartz scheduler is used to setup crontrigger alongwith jobdetail bean
- scheudler runs the job every 10 seconds (*/10 * * * * ?)
我想自定義此設置通過讀取CSV文件只有每個作業實例線的X號,而不是例如讀取整個文件如果文件中有10行,並且我想每步讀取2行,則作業實例應只讀取2行而不是10行。爲此,我想根據讀取的行數給出工作的動態參數。因此,對於每個作業執行而言,作業實例都有獨特的增量參數。像光標到文件閱讀器一樣。
如何實現它?
我的JobDetail屬性PARAM
<property name="jobDataAsMap">
<map>
<entry key="jobName" value="reportJob" />
<entry key="jobLocator" value-ref="jobRegistry" />
<entry key="jobLauncher" value-ref="jobLauncher" />
<entry key="cursor" value="0"/>
<!-- Gives error on this one: <entry key="cursor" value="#{jobParameters['cursor']}"/>
</map>
</property>
您是說,我必須手動讀取每作業執行2行,每次更新等builder.addDouble(「光標」中,x + 2的JobParamers ); ? – Saad
是的。每一項新工作都基於上一份作業,以更新後的「光標」參數開始 –
如何將作業參數發送至石英發射器,以便始終獲得遞增的參數值。我用石英getJobParametersFromJobMap()增加它,但它總是讀爲0 – Saad