2012-03-26 23 views
5

NServiceBus के साथ "पुनः प्रयास करें" प्रणाली बहुत अच्छी है। यह सुनिश्चित करने में शानदार काम करता है कि मृत ताले जैसी छोटी चीजें हमें गड़बड़ नहीं करती हैं।क्या कोई संदेश पुनः प्रयास करने के लिए NServiceBus को बताने का कोई तरीका नहीं है?

हालांकि, कभी-कभी मुझे पता है कि एक संदेश खराब है। इस अर्थ में बुरा है कि कोई भी रकम मदद करने जा रही है।

क्या NServiceBus को बताने का कोई तरीका है: "यह संदेश एक खराब सेब है, इसे त्रुटि कतार में ले जाएं"? (और क्या यह रीट्रीज़ को छोड़ देता है?)

उत्तर

3

यदि आप एनएसबी 3 का उपयोग कर रहे हैं, तो आप IManageMessageFailures इंटरफ़ेस पर एक नज़र डाल सकते हैं। यह आपको अपनी कार्यक्षमता में प्लग करने की अनुमति देगा, लेकिन संदेश विफल होने के बाद यह है। अगर आप पहले संदेश पर जाना चाहते हैं, तो Message Mutators सुविधा पर नज़र डालें। यह आपको परिवहन परत और एप्लिकेशन परत पर दोनों में ले जाता है।

+0

एलास v3 के लिए अपग्रेड अभी मेरे लिए अभी कुछ करने के लिए शामिल है। – Vaccano

+0

कोई समस्या नहीं है, तो मैं एक संदेश मॉड्यूल का उपयोग करने पर एक नज़र डालेगा। यह आपको इसे लात मारने के लिए प्रसंस्करण से पहले संदेश पर अपना हाथ लेने की अनुमति देगा। –

1

हैंडलर के अंदर Bus.DoNotContinueDispatchingCurrentMessageToHandlers(); पर कॉल करना क्या ऐसा करने का एक आसान तरीका नहीं है?