मुलेसॉफ्ट में, मैं वस्तुओं की एक सरणी लेना चाहता हूं और उनमें से प्रत्येक के लिए एक एचटीपी एंडपॉइंट को कॉल करना है, परिणामों को मेरे उपभोक्ता पर वापस जाने के लिए एक सरणी में एकत्रित करना है। मैंने इसे ForEach लूप और एक सरणी का उपयोग करके किया है। सब ठीक काम करता है। लेकिन सरणी में प्रत्येक तत्व एचटीपी एंडपॉइंट पर कॉल करता है और अगले एक पर जाने से पहले प्रतिक्रिया की प्रतीक्षा करनी पड़ती है। अंतिम बिंदु समान है, भले ही संसाधित किए जा रहे विशिष्ट तत्व के आधार पर थोड़ा अलग पैरामीटर हो। मैं जो करना चाहता हूं वह समानांतर में सभी वस्तुओं (या उनमें से कम से कम एक हिस्सा, शायद 10 या 20) के लिए अनुरोध भेजना है, फिर प्रतिक्रियाओं की प्रतीक्षा करें और उन्हें एक साथ इकट्ठा करें।

मैंने कुछ पैटर्न देखे हैं लेकिन वे आमतौर पर विशिष्ट तत्वों के लिए विशिष्ट समापन बिंदुओं को जानने पर भरोसा करते हैं। यानी इस ऑब्जेक्ट को इस एंडपॉइंट पर और उस एक को उस एंडपॉइंट पर भेजें। यहाँ यह एक गतिशील सरणी है और इसलिए समापन बिंदु गतिशील हैं। यह कैसे किया जाएगा?

धन्यवाद

0
user2047485 26 जुलाई 2018, 13:11

2 जवाब

उक्त उपयोग के मामले को प्राप्त करने के लिए आप Mulesoft स्प्लिटर-एग्रीगेटर का उपयोग कर सकते हैं। आप स्पिटर-एग्रीगेटर उदाहरण

2
AnupamBhusari 27 जुलाई 2018, 08:49
धन्यवाद - जब मुझे समय मिलेगा तो मैं इसे देख लूंगा। मेरे द्वारा परीक्षण किए जाने के बाद सही के रूप में चिह्नित किया जाएगा
 – 
user2047485
31 जुलाई 2018, 10:43
मैंने अन्य परिदृश्यों के लिए स्प्लिटर-एग्रीगेटर का उपयोग किया है जहां एंडपॉइंट्स ज्ञात हैं, लेकिन संग्रह को विभाजित करने के लिए मैं संग्रह स्प्लिटर और संग्रह एग्रीगेटर और अनुरोध-उत्तर वीएम का उपयोग कर समाप्त हुआ
 – 
user2047485
19 जून 2019, 13:02

आप बैच प्रोसेसिंग का उपयोग करने का प्रयास कर सकते हैं जहां आप वस्तुओं का एक हिस्सा भेज सकते हैं और अगले बैच पर जाने से पहले प्रतिक्रिया के लिए उस पूरे खंड की प्रतीक्षा कर सकते हैं। खच्चर एप्लिकेशन के भीतर, बैच प्रोसेसिंग कोड के एक स्वतंत्र ब्लॉक के रूप में अपने आप खड़ा होता है। बाहरी संसाधन से, बैच डेटा के सेट को स्वीकार करता है - शायद इनपुट के लिए मतदान - विखंडू में संसाधित करने के लिए। बैच किसी भी रिकॉर्ड-स्तर की विफलताओं को सुरुचिपूर्ण ढंग से संभालते हैं जो प्रसंस्करण में हो सकती हैं ताकि एक पूर्ण बैच कार्य की विफलता को रोका जा सके। इसके अलावा, आप अलग-अलग रिकॉर्ड पर वेरिएबल्स को सेट या हटा सकते हैं ताकि बैच प्रोसेसिंग के दौरान, Mule रिकॉर्ड वेरिएबल के अनुसार बैच में रिकॉर्ड्स को रूट कर सके या अन्यथा कार्रवाई कर सके।

उदाहरण के लिए

<batch:job name="myBatchJob">
    <batch:process-records>
        <batch:step name="Step1"/>
        <batch:step name="Step2"/>
        <batch:step name="Step3"/>
    </batch:process-records>
</batch:job>

<flow name="flowOne">
    ...
</flow>

अधिक विवरण के लिए आप mule doc देख सकते हैं

1
Simrat Kaur 26 जुलाई 2018, 15:25
धन्यवाद। मुझे यकीन नहीं है कि मैं इसे अपने मामले में लागू कर सकता हूं लेकिन एक नज़र डालेगा
 – 
user2047485
31 जुलाई 2018, 10:44