मैं एक स्प्रिंग बैच बनाने की कोशिश कर रहा हूं और मुझे इसके साथ कोई अनुभव नहीं है।वसंत में चरणों के बीच जानकारी पास?
क्या प्रत्येक बैच चरण से जानकारी पास करना संभव है या क्या वे पूरी तरह से स्वतंत्र होना चाहिए?
उदाहरण के लिए अगर मैं
<batch:step id="getSQLs" next="runSQLs">
<batch:tasklet transaction-manager="TransactionManager"
ref="runGetSQLs" />
</batch:step>
<batch:step id="runSQLs">
<batch:tasklet transaction-manager="TransactionManager"
ref="runRunSQLs" />
</batch:step>
और getSQLs है एक सेम जो एक वर्ग किस प्रकार स्ट्रिंग की एक सूची उत्पन्न कार्यान्वित से चलाता है। क्या RunSQLs द्वारा ट्रिगर किए गए बीन के लिए उस सूची को संदर्भित करना संभव है? ("ट्रिगर" सही शब्द नहीं हो सकता है लेकिन मुझे लगता है कि आप जानते हैं कि मैं क्या मतलब है)
अद्यतन:
<bean id="runGetSQLs" class="myTask"
scope="step">
<property name="filePath" value="C:\Users\username\Desktop\sample.txt" />
</bean>
जो myTask वर्ग जो इस विधि कार्यान्वित चलाता है: तो getSQLs कदम इस सेम से चलाता है
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
ExecutionContext stepContext = this.stepExecution.getExecutionContext();
stepContext.put("theListKey", sourceQueries);
return RepeatStatus.FINISHED;
}
क्या मुझे किसी भी तरह से निष्पादन विधि के लिए चरण निष्पादन की आवश्यकता है?
मेरे कोड stepExecution पहचान करने के लिए प्रतीत नहीं होता। मैंने org.springframework.batch.core.StepExecution आयात किया। मुझे यहां क्या समझ नहीं आ रहा है? – user2665166
आपको अपने कोड ब्लॉक के साथ पोस्ट को अपडेट करना चाहिए और उल्लेख करें कि आपने अभी तक क्या किया है। – tmarwen
अपडेट किया गया। मैंने आपके उदाहरण से मेल खाने के लिए कदम भी बदल दिया। – user2665166