java - Spring Propagation examples in layman's terms -
ट्रांसेक्शनल प्रचार गुणों का वर्णन करने का शानदार काम करें।
हालांकि, मैं सोच रहा था कि क्या कोई भी सुप्रसिद्ध, वास्तविक-विश्व उदाहरण उपलब्ध हैं जो इन गुणों में से प्रत्येक का वर्णन सामान्य व्यक्ति के नियमों में अधिक अच्छी तरह से करते हैं?
PROPAGATION_REQUIRED
वर्ग सेवा {@ ट्रान्सैक्सेलिकल (प्रचार = प्रचार। REQUIRED) सार्वजनिक शून्य doSomething () {// एक डेटाबेस का उपयोग करके डीएओ का उपयोग करना}}
जब कुछ करता है () कहा जाता है तो यह एक नया लेन-देन शुरू करेगा अगर कॉलर ने पहले से कोई लेन-देन प्रारंभ नहीं किया है ।
यदि इस विधि का कॉलर पहले से ही एक लेनदेन शुरू कर दिया है तो कॉल करने वाले लेन-देन का उपयोग किया जाता है और कोई नया लेनदेन नहीं किया जाता है (यानी खेल में एक लेन-देन है)।
यदि कोई अपवाद कुछ के अंदर फेंका जाता है तो फिर इसे वापस लाया जाएगा, जिसका अर्थ है कि फोन करने वाला यह भी देखें कि लेन-देन वापस लुढ़का हुआ है।
जब कुछ () रिटर्न देता है, यह कॉल करने वाला है जो लेनदेन (या संभवत: लुढ़का हुआ) कर देगा।
PROPAGATION_REQUIRES_NEW
<पूर्व> वर्ग सेवा {@ लेनदेन (प्रचार = प्रमोचन। REQUIRES_NEW) सार्वजनिक शून्य doSomething () {// एक डीएओ का उपयोग कर एक डेटाबेस तक पहुँच}}
जब कुछ करना होता है () इसे हमेशा एक नया लेन-देन।
यदि इस विधि का कॉलर पहले से ही एक लेनदेन (TxnOuter) शुरू कर रहा है तो कॉलर्स का लेन-देन निलंबित है और एक नया लेनदेन (टीएक्सएनइनर) बनाया गया है (यानी
यदि कोई अपवाद doSomething () के अंदर फेंक दिया जाता है तो TxnInner को वापस रोल किया जाएगा, लेकिन कॉलर (TxnOuter) से "निलंबित" लेनदेन अप्रभावित है।
जब कोई () कुछ अपवाद के बिना रिटर्न करता है, तो यह लेनदेन (टीएक्सएनइनर) करेगा। कॉल करने वाले लेन-देन (टीएनएएनओउटर) को फिर से शुरू किया जाएगा और अनजान होगा कि एक और लेन-देन का वादा किया गया था।
नोट करने के लिए महत्वपूर्ण बात यह है कि डेटाबेस पूरी तरह से स्वतंत्र लेनदेन के रूप में TxnOuter और TxnInner, और इसलिए दो स्वतंत्र कमान के रूप में देखता है।
PROPAGATION_NESTED
<पूर्व> वर्ग सेवा {@ ट्रान्सैक्सेलिकल (प्रचार = प्रचार। एनईईटीईड) सार्वजनिक शून्य doSomething () {// एक डीएओ का उपयोग करते हुए डेटाबेस तक पहुँच}} < / Code> अगर आपके जेडीबीसी चालक और / या डाटाबेस का समर्थन करता है तो निशोधित केवल तभी इस्तेमाल किया जा सकता है
जब कुछ करता है () कहा जाता है तो यह एक नया लेन-देन शुरू करेगा अगर कॉलर
यदि इस विधि का कॉलर पहले ही एक लेनदेन शुरू कर दिया है तो कॉल करने वाले लेन-देन का उपयोग किया जाता है और कोई नया लेनदेन नहीं किया जाता है (यानी खेल में एक लेनदेन है) । हालांकि, "बचतपॉइंट" को लेन-देन पर चिह्नित किया जाता है जब doSomething () दर्ज किया जाता है।
यदि कोई अपवाद doSomething () के भीतर फेंक दिया जाता है तो लेन-देन आंशिक रूप से लेनदेन को "सहेजेन बिंदु" में वापस लाया जा सकता है। कॉलर लेनदेन के साथ जारी रहेगा।
जब कोई () बिना किसी अपवाद के रिटर्न करता है तो वह कॉलर है जो पूरे लेनदेन (या रोलबैक) कर देगा।
महत्वपूर्ण बिंदु नोट यह है कि डेटाबेस केवल एक लेनदेन को देखता है और केवल एक ही प्रतिबद्ध है।
Comments
Post a Comment