में एकाधिक डेटा स्रोतों का उपयोग मैं स्प्रिंग बैच के भीतर कुछ डेटा स्रोतों को कॉन्फ़िगर करने की कोशिश कर रहा हूं। स्टार्टअप पर, स्प्रिंग बैच निम्न अपवाद फेंक है:स्प्रिंग बैच
To use the default BatchConfigurer the context must contain no more thanone DataSource, found 2
बैच विन्यास से स्निपेट
@Configuration
@EnableBatchProcessing
public class BatchJobConfiguration {
@Primary
@Bean(name = "baseDatasource")
public DataSource dataSource() {
// first datasource definition here
}
@Bean(name = "secondaryDataSource")
public DataSource dataSource2() {
// second datasource definition here
}
...
}
सुनिश्चित नहीं हैं कि क्यों मैं इस अपवाद देख रहा हूँ, क्योंकि मैं के लिए कुछ एक्सएमएल आधारित विन्यास देखा है वसंत बैच जो एकाधिक डेटा स्रोत घोषित करता है। मैं वसंत बूट संस्करण 1.1.5.RELEASE के साथ स्प्रिंग बैच कोर संस्करण 3.0.1.RELEASE का उपयोग कर रहा हूँ। किसी भी तरह की सहायता का स्वागत किया जाएगा।
एक्सएमएल के साथ आपको स्पष्ट होना चाहिए कि स्प्रिंग बैच किस डेटास्रोत का उपयोग करता है। यदि आप इसे जावा आधारित कॉन्फ़िगरेशन के साथ स्पष्ट रूप से घोषित नहीं करते हैं तो यह डेटासोर्स को काम करने का पता लगाने की कोशिश करेगा, जो केवल एक ही डेटासोर्स का पता लगाए जाने पर ही काम करेगा। आप 'प्राथमिक' के साथ बैच के लिए उपयोग करने के लिए एक को एनोटेट करने का प्रयास कर सकते हैं। अन्यथा आप 'डिफॉल्टबैच कॉन्फ़िगरर' बना सकते हैं जिसके लिए एक डेटासोर्स को निर्माण तर्क के रूप में आवश्यक है और इसे उपयोग करने के लिए पास करें। –
मैंने @ प्राथमिक के साथ प्रयास किया है और यह काम नहीं करता है, मैं डिफ़ॉल्ट बैच कॉन्फ़िगरर के साथ प्रयास करूंगा। –
यह दृष्टिकोण कुछ हद तक सहायक है http://stackoverflow.com/a/25811665/701368 – wmarbut