2012-03-04 10 views
71

जेटीए और स्थानीय लेनदेन के बीच क्या अंतर है?जेटीए और स्थानीय लेनदेन के बीच क्या अंतर है?

एक उदाहरण जो दिखाता है कि जेटीए का उपयोग कब करना है और स्थानीय लेनदेन का उपयोग कब करना होगा।

उत्तर

110

JTA जावा में लेनदेन के प्रबंधन के लिए एक सामान्य API है। यह आपको संसाधन तटस्थ तरीके से शुरू करने, प्रतिबद्ध करने और रोलबैक लेनदेन करने की अनुमति देता है। लेनदेन संबंधी स्थिति आम तौर पर टीएलएस (थ्रेड लोकल स्टोरेज) में संग्रहीत होती है और कॉल-स्टैक में अन्य विधियों के लिए प्रचारित की जा सकती है, बिना किसी स्पष्ट संदर्भ वस्तु को पारित करने की आवश्यकता होती है। लेनदेन संबंधी संसाधन चल रहे लेनदेन में शामिल हो सकते हैं। यदि ऐसे लेनदेन में भाग लेने वाले एक से अधिक संसाधन हैं, तो उनमें से कम से कम एक को तथाकथित एक्सए संसाधन होना चाहिए।

resource local transaction एक लेनदेन है जो आपके पास अपने विशिष्ट एपीआई का उपयोग करके एक विशिष्ट एकल संसाधन के साथ है। ऐसा लेनदेन आमतौर पर कॉल-स्टैक में अन्य तरीकों से प्रचार नहीं करता है और आपको कुछ स्पष्ट संदर्भ वस्तु को पास करने की आवश्यकता होती है। संसाधन स्थानीय लेनदेन के बहुमत में एक ही लेनदेन में भाग लेने वाले कई संसाधनों के लिए संभव नहीं है।

आप जावा एसई में निम्न स्तर के जेडीबीसी कोड के लिए संसाधन स्थानीय लेनदेन का उपयोग करेंगे। यहां संदर्भ वस्तु java.sql.Connection के उदाहरण द्वारा व्यक्त की गई है। संसाधन स्थानीय लेनदेन के अन्य उदाहरण डेवलपर्स 2002 के आसपास एंटरप्राइज़ अनुप्रयोग बना रहे हैं। चूंकि लेनदेन प्रबंधक (जेटीए द्वारा उपयोग किए गए) महंगे, बंद स्रोत और जटिल युग उस युग के आसपास स्थापित करने के लिए थे, लोग संसाधन स्थानीय रूपों को प्राप्त करने के लिए सस्ता और आसान थे।

आप मूल रूप से हर दूसरे परिदृश्य में एक जेटीए लेनदेन का उपयोग करेंगे। टॉमई (25 एमबी) या ग्लासफ़िश (35 एमबी) जैसे बहुत ही सरल, छोटे, मुक्त और मुक्त स्रोत सर्वरों में बॉक्स से जेटीए का समर्थन है। सेटअप करने के लिए कुछ भी नहीं है और वे बस काम करते हैं।

अंत में, ईजेबी और स्प्रिंग जैसी प्रौद्योगिकियां declarative transactions की पेशकश करके जेटीए का उपयोग करना आसान बनाती हैं। ज्यादातर मामलों में इसे उन लोगों का उपयोग करने की सलाह दी जाती है क्योंकि वे आसान, क्लीनर और कम त्रुटि प्रवण होते हैं। ईजेबी और वसंत दोनों कवर के तहत जेटीए का उपयोग कर सकते हैं।

+3

+1 जेटीए उपयोग (ईजेबी, वसंत, आदि ..) के इतिहास और विकास की व्याख्या के लिए +1। – Marco

1

जावा लेनदेन API (जेटीए) जावा एंटरप्राइज़ संस्करण (जावा ईई) एपीआई में से एक है जो जावा वातावरण में एकाधिक एक्सए संसाधनों में वितरित लेनदेन करने की अनुमति देता है।

-1

J2EE आवेदन 2 विनिर्देशों के माध्यम से
JTA ---> जावा लेनदेन API.highe स्तरीय कार्यान्वयन डीटी फ़ॉट suppoart भी शामिल है और हमेशा सक्षम किया गया है
जेटीएस ---> जावा लेन-देन सेवा।

1

जावा एसई अनुप्रयोग के लिए लेनदेन-प्रकार को "RESOURCE_LOCAL" और जावा ईई एप्लिकेशन के लिए "जेटीए" पर सेट किया जाना चाहिए। "RESOURCE_LOCAL" टॉमकैट पर तैनात कुछ वेब एप्लिकेशन पर ठीक काम कर सकता है, लेकिन जब आप ग्लासफ़िश पर्यावरण के तहत अपना आवेदन चलाते हैं तो समस्याएं हो सकती हैं।

यदि आप वितरित लेनदेन पर काम कर रहे हैं तो आपको अपने लेनदेन प्रबंधक के रूप में "जेटीए" का उपयोग करना होगा।

संबंधित मुद्दे