java - EJB3: Why are transaction semantics and statefulness considered implementation details? -


लेनदेन सिमेंटिक और राज्य-पूर्णता को ईजेबी 3 में कार्यान्वयन विवरण माना जाता है। एक कार्यान्वयन तय कर सकता है कि बीन या कंटेनर प्रबंधित लेनदेन का उपयोग करना है या नहीं। यह कंटेनर प्रबंधित लेन-देन के प्रकार को तय कर सकता है। यह तय कर सकता है कि यह राज्य-पूर्ण या स्टेटलेस है।

हालांकि, तर्कसंगत रूप से, ये महत्वपूर्ण इंटरफ़ेस विवरण हैं। उदाहरण: (ए) बीन प्रबंधित लेनदेन का उपयोग कर बीन कंटेनर प्रबंधित लेनदेन का उपयोग कर बीन का इस्तेमाल नहीं कर सकते। (बी) एक स्टेटलेस बीन राज्य-पूर्ण बीन का आह्वान नहीं कर सकता है।

जब एक ईजेबी 3 इंटरफ़ेस के साथ प्रस्तुत किया जाता है तो आपको यह नहीं पता है कि किस प्रकार के लेन-देन सिमेंटिक की आवश्यकता है इसी तरह आपको पता नहीं है कि यह राज्य-पूर्ण या स्टेटलेस है आपको अतिरिक्त कार्यान्वयन विवरण की आवश्यकता है। उदाहरण: प्रलेखन।

चलने के समय, अलग-अलग बीन्स और कॉल श्रृंखलाएं गतिशील रूप से शुरू की जा सकती हैं। तो एक अमान्य स्थिति पैदा हो सकती है। अब - कंटेनर इन स्थितियों को जाल कर सकता है;

"पाठ">

लेन-देन शब्दार्थ और राज्य-पूर्णता को ईजेबी 3 में कार्यान्वयन विवरण माना जाता है। एक कार्यान्वयन तय कर सकता है कि बीन या कंटेनर प्रबंधित लेनदेन का उपयोग करना है या नहीं। यह कंटेनर प्रबंधित लेन-देन के प्रकार को तय कर सकता है। यह तय कर सकता है कि यह राज्य-पूर्ण या स्टेटलेस है।

मैं राज्य प्रबंधन के बिंदु को समझता हूं जो ग्राहक के दृष्टिकोण से वास्तव में महत्वपूर्ण है।

लेनदेन के संबंध में, यह थोड़ा और अधिक मुश्किल है।

  • लेनदेन के प्रकार ( सेम-प्रबंधित या कंटेनर-प्रबंधित ) है कार्यान्वयन विवरण (मैं आपके उदाहरण के बारे में निश्चित नहीं हूँ (ए))
  • प्रसार शब्दों को नहीं है ( आवश्यक , अनिवार्य , कोई भी , आदि)।

अब - कंटेनर इन स्थितियों को जाल कर सकते हैं; लेकिन रनटाइम की प्रतीक्षा क्यों की जाती है?

यहां तक ​​कि जो सभी इंटरफ़ेस में उपस्थित थे, प्रकार सिस्टम अभी भी संकलन प्रकार पर नियमों को लागू करने के लिए पर्याप्त नहीं होगा

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

ट्रांजैक्शन शब्दार्थ और राज्य पूर्णता क्यों है आवश्यकताओं को इंटरफेस का कोई हिस्सा नहीं है?

एक जावा इंटरफ़ेस किसी घटक के सही उपयोग के बारे में केवल सीमित सीमित जानकारी रखता है, यह एक वर्ग हो, और बीन , या एपीआई अधिकतर घटक के ओवरल अनुबंध इंटरफ़ेस में प्रकट होने वाली चीज़ों की तुलना में अधिक जटिल है।

उदाहरण:

  • थ्रेड-सुरक्षा: आपको कैसे पता चलेगा कि कोई विशेष क्लास डॉक्टर के बिना थ्रेड सुरक्षित है?
  • : आप कैसे जानते हैं कि इसे प्रति XML टैग एक बार से अधिक कहा जा सकता है?
  • और सूची में चला जाता है ...

बाधाओं का पूरा सेट देखने के लिए मैं व्यक्तिगत रूप से अनुबंध शब्द का उपयोग कर रहा हूं इंटरफ़ेस मुझे सिस्टम प्रकार के दृष्टिकोण से केवल तरीकों के हस्ताक्षर देता है।

यदि आप इस विषय में रुचि रखते हैं, तो मेरा सुझाव है कि आप देखेंगे।

तो मेरा जवाब होगा: क्योंकि यहां तक ​​कि अगर यह भी हो, तो आपको अभी भी अधिक जानकारी की आवश्यकता होगी।


Comments

Popular posts from this blog

asp.net - Change the driver in the connection string to a data source in VB.Net -

Getting started consuming web services in a Ruby on Rails 3 application -

objective c - iPhone and it's wireless area -