वार्तालाप समूह एक स्थानीय हैं केवल अवधारणा, विशेष रूप से लॉक करने के लिए उपयोग की जाती है:सहसंबद्ध वार्तालाप एक समूह में होते हैं ताकि जब आप एक वार्तालाप पर एक संदेश संसाधित करते हैं, तो दूसरा थ्रेड एक सहसंबद्ध संदेश को संसाधित नहीं कर सकता है। दो समापन बिंदुओं द्वारा आदान-प्रदान किए गए वार्तालाप समूहों के बारे में कोई जानकारी नहीं है, इसलिए आपके उदाहरण में सभी आरंभकर्ता समापन बिंदु एक वार्तालाप समूह से संबंधित होते हैं, लेकिन लक्ष्य समापन बिंदु प्रत्येक एक अलग वार्तालाप समूह होते हैं (प्रत्येक समूह में केवल एक वार्तालाप होता है)। सिस्टम के इस तरह व्यवहार करने का कारण यह है कि बातचीत समूहों को एक समस्या का समाधान करने के लिए डिज़ाइन किया गया है, जैसे, एक यात्रा बुकिंग सेवा:जब उसे 'एक यात्रा बुक करने' का संदेश प्राप्त होता है, तो उसे एक उड़ान, एक होटल और एक कार आरक्षित करनी होती है। किराये पर लेना। इसे तीन संदेश भेजने होंगे, इनमें से प्रत्येक सेवा के लिए एक ('उड़ानें', 'होटल', 'कार') और फिर प्रतिक्रियाएं अतुल्यकालिक रूप से वापस आ जाएंगी। जब वे वापस आते हैं, तो प्रसंस्करण को यह सुनिश्चित करना चाहिए कि उन्हें अलग-अलग थ्रेड्स द्वारा समवर्ती रूप से संसाधित नहीं किया जाता है, जो प्रत्येक 'ट्रिप' रिकॉर्ड स्थिति को अपडेट करने का प्रयास करेगा। संदेश में, इस समस्या को 'संदेश सहसंबंध समस्या' के रूप में जाना जाता है।
हालांकि, अक्सर बातचीत समूह केवल प्रदर्शन कारणों से SSB में तैनात किए जाते हैं:वे बड़े RECEIVE परिणामों की अनुमति देते हैं। लक्ष्य समापन बिंदुओं को मूव कन्वर्सेशन<का उपयोग करके एक समूह में एक साथ ले जाया जा सकता है। /कोड>
लेकिन व्यवहार में एक बहुत आसान तरकीब है:बातचीत की दिशा को उलट दें। अपना गंतव्य लें बातचीत शुरू करें (समूहीकृत), और स्रोत गंतव्य द्वारा शुरू की गई बातचीत पर अपने 'अपडेट' भेजता है।
कुछ नोट:
- BEGIN/SEND/END के आग-और-भूल पैटर्न का उपयोग न करें। आप भविष्य में किसी भी समस्या का निदान करना असंभव बना रहे हैं, देखें आग और भूल जाओ:सेना के लिए अच्छा है, लेकिन सेवा दलाल बातचीत के लिए नहीं ।
- उत्पादन कोड में कभी भी क्लीनअप के साथ प्रयोग न करें। यह आपदा वसूली जैसी प्रशासनिक अंतिम उपाय कार्रवाई के लिए अभिप्रेत है। यदि आप इसका दुरुपयोग करते हैं तो आप एसएसबी को सही पुन:प्रयास वितरण के लिए संदेश को ठीक से ट्रैक करने का कोई मौका नहीं देते हैं (यदि संदेश लक्ष्य पर बाउंस हो जाता है, तो किसी भी कारण से, यह हमेशा के लिए खो जाएगा)।
- SSB केवल एक बातचीत के भीतर सभी वार्तालापों में आदेश की गारंटी नहीं देता है। प्रत्येक INSERT घटना के लिए एक नई बातचीत शुरू करना, लक्ष्य पर, सम्मिलित संचालन के क्रम को संरक्षित करने की गारंटी नहीं देता है।