java-ee
जावा कनेक्टर आर्किटेक्चर (JCA)
खोज…
टिप्पणियों
आइए पहले कुछ शब्दावली स्पष्ट करें:
- आउटबाउंड मैसेजिंग वह जगह है जहां संदेश सर्वर से शुरू होता है (अधिक सटीक होने के लिए यह आपके ऐप से शुरू होता है, जो आपके पास सर्वर पर है, इस मामले में
WebSphere Liberty
) और ईआईएस पर समाप्त होता है। - इनबाउंड मैसेजिंग वह जगह है जहां संदेश ईआईएस से शुरू होता है और सर्वर पर समाप्त होता है।
- संदेश समापन बिंदु को सामान्य रूप से उस स्थान पर पहुंचाते हैं जहां संदेश अपने जीवन चक्र के एक विशिष्ट चरण में बैठे / प्राप्त करते हैं।
इसलिए आउटबाउंड कनेक्टिविटी के साथ, हम उस स्थिति का उल्लेख कर रहे हैं, जहां कोई एप्लिकेशन बाहरी ईआईएस से कनेक्शन प्राप्त करता है और उस पर डेटा पढ़ता या लिखता है। इनबाउंड कनेक्टिविटी के साथ हम उस स्थिति का उल्लेख कर रहे हैं जहां संसाधन एडेप्टर (आरए) बाहरी ईआईएस से घटनाओं को सुनता है और ऐसी घटना होने पर आपके आवेदन में कॉल करता है।
आउटबाउंड आरए का चित्रण
एक भीतर का आरए का चित्रण
JCA में MessageEndPoint का क्या मतलब है?
एप्लिकेशन सर्वर (उदा: WebSphere Liberty
) आपको संदेश-संचालित बीन्स को संदेश भेजने में सहायता करने के लिए मैसेज एंडपॉइंट एमबीन्स प्रदान करता है जो विशिष्ट एंडपॉइंट्स पर श्रोताओं के रूप में काम कर रहे हैं, जो गंतव्य हैं, और ईआईएस के प्रबंधन में हैं इन संदेश-संचालित बीन्स द्वारा उपयोग किया जाता है। संदेश-संचालित बीन्स जो संदेश एंडपॉइंट के रूप में तैनात हैं, संदेश-संचालित बीन्स के समान नहीं हैं जो एक श्रोता पोर्ट के खिलाफ कॉन्फ़िगर किए गए हैं। संदेश-संचालित बीन्स जो संदेश एंडपॉइंट्स के रूप में उपयोग किए जाते हैं, को एक ActivationSpecification
का उपयोग करके तैनात किया जाना चाहिए जो ra.xml
लिए आरए कॉन्फ़िगरेशन ( ra.xml
फ़ाइल में पाया गया) के भीतर परिभाषित किया गया है।
MessageEndPoint को सक्रिय करने का क्या मतलब है?
संदेश समापन बिंदु MBeans के साथ, आप यह सुनिश्चित करने के लिए अपने अनुप्रयोगों के भीतर विशिष्ट समापन बिंदुओं को सक्रिय और निष्क्रिय कर सकते हैं कि संदेश केवल संदेश-संचालित बीन्स को सुनने के लिए दिए गए हैं जो स्वस्थ ईआईएस संसाधनों के साथ बातचीत कर रहे हैं। यह क्षमता आपको उन परिस्थितियों में अपने जेएमएस अनुप्रयोगों के प्रदर्शन को अनुकूलित करने की अनुमति देती है जहां एक ईआईएस संसाधन अपेक्षा के अनुरूप व्यवहार नहीं कर रहा है। एक समापन बिंदु के लिए संदेश वितरण आमतौर पर विफल रहता है जब संदेश संचालित बीन जो सुन रहा है वह एक संसाधन के खिलाफ एक ऑपरेशन को आमंत्रित करता है जो स्वस्थ नहीं है। उदाहरण के लिए, एक संदेश प्रदाता, जो एक इनबाउंड संसाधन एडेप्टर है जो कि जेसीए कंप्लेंट है, एक समापन बिंदु पर संदेश देने में विफल हो सकता है जब इसका अंतर्निहित संदेश-संचालित बीन एक डेटाबेस सर्वर के खिलाफ लेनदेन करने का प्रयास करता है जो प्रतिक्रिया नहीं दे रहा है।
क्या MessageEndPoint को सेम होने की आवश्यकता है?
यह होना चाहिए। अन्यथा आप सामान करने के अपने अपरंपरागत तरीके को बनाकर एक बड़ी गड़बड़ी को समाप्त कर देंगे, जिसने पहले स्थान पर जावा ईई विनिर्देश का पालन करने के उद्देश्य को हराया। अपने संदेश-संचालित बीन्स को अन्य उद्यम बीन्स को व्यावसायिक प्रसंस्करण को सौंपने के लिए डिज़ाइन करें। ईआईएस संसाधनों को सीधे संदेश-संचालित बीन में एक्सेस न करें, लेकिन एक अप्रत्यक्ष रूप से एक प्रतिनिधि बीन के माध्यम से करें।
क्या आप एक संदेश प्रबंधन कार्य / तैनाती पर कुछ सरल उदाहरण दिखा सकते हैं?
एक उपयोगी उदाहरण के लिए मैं नीचे उल्लेख कर रहा हूँ दूसरे संसाधन की जाँच करें।
उपयोगी शिक्षण संसाधन:
उदाहरण संसाधन एडाप्टर
class MyResourceAdapter
implements javax.resource.spi.ResourceAdapter {
public void start(BootstrapContext ctx){..}
public void stop(){..}
public void endpointActivation (MessageEndpoingFactory mf, ActivationSpec a){..}
public void endpointDeactivation (MessageEndpoingFactory mf, ActivationSpec a){..}
public void getXAResources(ActivationSpec[] activationSpecs){..}
}