可處理當前的資源有什麼辦法讓currentResource通過MultiResourceItemReader處理,以使其在beforeStep method.Kindly可以提供我一個工作代碼示例。我試圖在給stepexecutionlistener注入multiresourcereader參考,但彈簧的cglib只接受一個接口類型被注入,我不知道是否使用ItemReader或ItemStream接口。我想MultiResourceItemReader在beforeStep方法
2
A
回答
1
currentResource
正在從MultiResourceItemReader
獲取當前不可能。如果您需要此API增強功能,請在Spring Batch JIRA中創建一個。- 即使
currentResource
有一個吸氣劑,它的值在beforeStep()
無效。它在open()
和close()
之間有效。
1
它是可能的,如果使用Partition Step和Binding Input Data to Steps概念
簡單的代碼例如,具有併發限制1模仿 「串行」 處理:
<bean name="businessStep:master" class="org.springframework.batch.core.partition.support.PartitionStep">
<property name="jobRepository" ref="jobRepository"/>
<property name="stepExecutionSplitter">
<bean class="org.springframework.batch.core.partition.support.SimpleStepExecutionSplitter">
<constructor-arg ref="jobRepository"/>
<constructor-arg ref="concreteBusinessStep"/>
<constructor-arg>
<bean class="org.spring...MultiResourcePartitioner" scope="step">
<property name="resources" value="#{jobParameters['input.file.pattern']}"/>
</bean>
</constructor-arg>
</bean>
</property>
<property name="partitionHandler">
<bean class="org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler">
<property name="taskExecutor">
<bean class="org.springframework.core.task.SimpleAsyncTaskExecutor">
<property name="concurrencyLimit" value="1" />
</bean>
</property>
<property name="step" ref="concreteBusinessStep"/>
</bean>
</property>
</bean>
<bean id="whateverClass" class="..." scope="step">
<property name="resource" value="#{stepExecutionContext['fileName']}" />
</bean>
示例步驟的配置:
<job id="renameFilesPartitionJob">
<step id="businessStep"
parent="businessStep:master" />
</job>
<step id="concreteBusinessStep">
<tasklet>
<chunk reader="itemReader"
writer="itemWriter"
commit-interval="5" />
</tasklet>
</step>
潛在缺點:
- 不同的步驟對每個文件,而不是一個步驟
- 更復雜的配置
3
的MultiResourceItemReader
now has的方法getCurrentResource()
返回當前Resource
。
相關問題
- 1. 我想Jquery.ajax方法
- 2. 黃瓜BeforeStep
- 3. 如何跳過用@BeforeStep註解的方法拋出的異常
- 4. 我想在asp.net中找到preinit方法
- 5. 如何使用MultiResourceItemReader的getResource
- 6. Android的佈局:無法地方,我想
- 7. 斯卡拉從我想申請方法
- 8. 在Spring批處理中,我可以在beforeStep實現中插入數據嗎?
- 9. GHC不decucing的方式我想它想:-(
- 10. 我想在調用Office.context.ui.displayDialogAsync()方法時跳過顯示消息
- 11. 我想讀包含的方法,在下面,
- 12. 我想在類中修飾方法,但不進行編輯class.py -
- 13. 我想通過在地圖的屬性值Jsoup Connect.data()方法
- 14. 我想在枚舉中創建一個方法?
- 15. 在RSpec中,我想將參數替換爲方法調用
- 16. 在小豆2.0我想使用JPA查詢方法
- 17. 我在一個方法創建一個對象,我想用它,在其他方法
- 18. 我想實施一種方法,允許我準備測試
- 19. 我想知道如何停止呼叫方法,我把服務
- 20. Rails的:我有一個類的方法,我想修改實例
- 21. 我想使用jQuery cookie,但無法找到cookie方法
- 22. MultiResourceItemReader中沒有屬性叫做'resource'
- 23. 我是否在重塑這個想法?
- 24. 我想在laravel
- 25. 我想在MATLAB
- 26. 我想在JDBC
- 27. 我想在Android
- 28. 我想在MySQL
- 29. 我想在MySQL
- 30. 我想在android
任何人都請。 – 2011-12-16 09:58:54
我建議你仔細設置與你的問題相關的標籤以獲得更多的觀衆。我不知道什麼是主題/應用程序/無論你在說什麼,但我確定它不是Windows批處理文件(即「批處理」標記的目標)。 – Aacini 2011-12-16 11:52:23