2009-08-24 20 views
7

में 'पुनः प्रयास विलंब' को कॉन्फ़िगर करना मुझे उम्मीद है कि कोई मेरी मदद कर सकता है - मैं एक ईजेबी/जेएमएस आधारित एप्लिकेशन में जेबॉस 5.1 और एमक्यू सीरीज़ 7 का उपयोग कर रहा हूं। मेरे आवेदन में मेरे पास कई संदेश संचालित बीन्स हैं, प्रत्येक एक एमक्यू श्रृंखला संदेश कतार पर सुन रहा है। जब किसी संदेश की प्रसंस्करण के दौरान कोई त्रुटि आती है, तो मुझे 'पुनः प्रयास विलंब' को कॉन्फ़िगर करने में सक्षम होना चाहिए, ताकि संदेश श्रृंखला को पुनः लोड करने का प्रयास करने से पहले mq श्रृंखला कुछ समय प्रतीक्षा करे। मैंने एमक्यू सीरीज़ दस्तावेज के माध्यम से बड़े पैमाने पर काम किया है, और अभी तक एमक्यू श्रृंखला में इसे पूरा करने का कोई तरीका नहीं मिला है। मुझे पता है कि जेबॉस डिफ़ॉल्ट जेएमएस प्रदाता के पास ऐसा करने का एक तरीका है, लेकिन मैं वर्तमान में एमक्यू श्रृंखला का उपयोग करने के लिए सीमित हूं। चूंकि मैं एक पुनः प्रयास विलंब सेट करने में सक्षम नहीं हूं - जब मेरे पास एक संदेश है जो असफल हो जाता है, तो मेरा संदेश संदेश देने और लगातार वापस रोल करने के कड़े लूप में फंस जाता है। क्या कोई मुझे समझने में मदद कर सकता है कि एमक्यू सीरीज में कुछ कॉन्फ़िगरेशन विकल्प है जो मुझे एक असफल संदेश को पुनः वितरित करने से पहले X मिलीसेकंड का इंतजार करने की अनुमति देगा?एमक्यू सीरीज

उत्तर

3

मुझे लगता है कि आप भाग्य से बाहर हैं। जहां तक ​​मुझे पता है कि आप इस परिदृश्य में केवल एक ही पैरामीटर को ट्विक कर सकते हैं, संदेश की पुन: प्रयास की जाने वाली अधिकतम संख्या (BOTHRESH) और अपवाद/बैकआउट कतार (BOQUEUE) का नाम है जहां संदेश भेजा जाएगा यदि संदेश भेजा जाएगा पुनः प्रयास प्रयास अधिकतम से अधिक है।

Paal

6

यह इस तरह के एक मुद्दे के लिए एक छोटे से बुनियादी ढांचे शिल्प से अवसर होने की संभावना है।

चूंकि संदेश बीएमएस में प्रवेश करने के बाद JMSDeliveryCount देख सकता है (इससे पहले कि आप इसे संसाधित करने से पहले - स्कोप पर विचार करें) और आप देख सकें कि इसमें पहले से ही कुछ रोलबैक हैं, संदेश को एक स्टेजिंग पर भेजें कतार लेकिन jms गुणों में गंतव्य कतार नाम संलग्न करें ताकि आप इसे बाद में उपयोग कर सकें।

एक साधारण प्रक्रिया मचान कतार (हर 5 मिनट उदाहरण के लिए) साफ़ करने और इसे मार्ग कतार करने पर संदेश भेजने के लिए कुछ अंतराल पर चला सकते हैं।

एक और प्रक्रिया रूटिंग कतार पर बैठ सकती है और जेएमएस गुणों (जो गंतव्य कतार नाम जोड़ती है) को देखती है और संदेश को मूल गंतव्य के साथ भेजती है।

यह एक गरीब व्यक्ति का दलाल है लेकिन यह लक्ष्य को स्वीकार करेगा। यह सच है कि वास्तव में जो भी आप चाहते हैं उसे करने के लिए बहुत कुछ नहीं बनाया गया है।

0

आप एक पुनः प्रयास सीमा निर्दिष्ट कर सकते हैं ताकि निरंतर रोलबैक निर्दिष्ट प्रयासों के बाद बंद हो जाए।