2010-06-04 27 views
37

मैं जेटीए के लिए नया हूं और यह अंतर्निहित लेनदेन प्रबंधक है। क्या इनमें से प्रत्येक के पेशेवरों/विपक्ष को समझा सकता है? दूसरों को जोड़ने के लिए स्वतंत्र महसूस करें मैंने शीर्षक में सूचीबद्ध नहीं किया था।एटमिकोस बनाम जेओटीएम बनाम बिट्रोनिक्स बनाम?

इसके अलावा, प्रमुख अनुप्रयोग सर्वर (वेबस्पेयर, जेबॉस, ग्लासफ़िश) का अपना स्वयं का जेटीए अनुपालन लेनदेन प्रबंधक नहीं है? उन वातावरणों में, क्या आप अभी भी इन तृतीय पक्ष कार्यान्वयन का उपयोग करेंगे?

उत्तर

47

मैं जेटीए के लिए नया हूं और यह अंतर्निहित लेनदेन प्रबंधक है। क्या इनमें से प्रत्येक के पेशेवरों/विपक्ष को समझा सकता है? दूसरों को जोड़ने के लिए स्वतंत्र महसूस करें मैंने शीर्षक में सूचीबद्ध नहीं किया था।

स्टैंडअलोन लेनदेन प्रबंधकों मैं के बारे में पता कर रहा हूँ शामिल Bitronix, SimpleJTA, Tyrex (मृत?), JOTM (जोनास में प्रयुक्त), GeronimoTM/Jencks (Geronimo में प्रयुक्त), JBossTS (JBoss में प्रयुक्त) और Atomikos

मैंने कभी भी उन सभी का परीक्षण नहीं किया है (और यदि आपको एक चुनना है तो आपको यही करना होगा) इसलिए मैं एक संपूर्ण पेशेवर/विपक्ष प्रदान नहीं कर सकता (और इसके लिए कुछ काम की आवश्यकता होगी)। लेकिन यहाँ कुछ लिंक कर रहे हैं:

शायद ज़रुरत पड़े, यहाँ मेरे विचार से बहुत ही व्यक्तिगत है:

  • मैंने JOTM के बारे में बहुत सी शिकायतें देखी हैं।
  • मुझे लगता है कि GeronimoTM/Jencks में दस्तावेज़ों की कमी है।
  • SimpleJTA जेटीएस लागू नहीं करता है और सक्रिय नहीं है।
  • बिट्रोनिक्स दस्तावेज़ीकरण दस्तावेज है लेकिन समर्थन प्रदान नहीं करता है।
  • परमाणु एक प्रभावशाली उत्पाद है, अच्छी तरह से प्रलेखित है और समर्थन प्रदान करता है।
  • जेबॉसटी उर्फ ​​अर्जुनस निश्चित रूप से एक परिपक्व उत्पाद है (कुछ इतिहास के लिए announcement of the acquisition देखें) और समर्थन प्रदान करता है।

व्यक्तिगत रूप से, मैं एटमिकोस और जेबॉसटी को छोटा कर दूंगा और अगर मुझे एक चुनना पड़े तो उन्हें कट्टर परीक्षण करें।

इसके अलावा, प्रमुख अनुप्रयोग सर्वर (वेबस्पेयर, जेबॉस, ग्लासफ़िश) का अपना स्वयं का जेटीए अनुपालन लेनदेन प्रबंधक नहीं है?

बेशक वे करते हैं, जेटीए जावा ईई विनिर्देश का हिस्सा है, जावा ईई सर्वर को इसका समर्थन करना है।

उन वातावरणों में, क्या आप अभी भी इन तृतीय पक्ष कार्यान्वयन का उपयोग करेंगे?

नहीं, मैं प्रदान किए गए लेनदेन प्रबंधक (सादगी, समर्थन, आदि के लिए) का उपयोग करता हूं।

+0

इस सहायक उत्तर के लिए धन्यवाद। कभी-कभी, परीक्षण और प्रदर्शन उद्देश्यों के लिए, हमारे आवेदन को जेटी या टॉमकैट में चलाने की आवश्यकता होती है। क्या एटमिकोस और जेबॉसटी अभी भी उन वातावरण में काम करेंगे? वास्तव में, यह है कि इन तृतीय पक्ष लेनदेन प्रबंधकों का कारण? एक पूर्ण ऐप सर्वर के बाहर अच्छा लेनदेन समर्थन प्राप्त करने के लिए? – HDave

+1

@ एचडीव: स्टैंडअलोन लेनदेन प्रबंधक उपयोगी होते हैं जब आपको वैश्विक लेनदेन समर्थन की आवश्यकता होती है (यानी जब आप एक से अधिक लेनदेन संसाधनों से निपट रहे हों) और आपका पर्यावरण इस के लिए समर्थन प्रदान नहीं करता है (उदाहरण के लिए एक स्टैंडअलोन एप्लिकेशन, सर्वलेट कंटेनर)। ऐसे वातावरण में, मैं कॉन्फ़िगरेशन को आसान बनाने के लिए स्प्रिंग का उपयोग करता हूं (और जेबीएसएसटीएस और एटमिकोस फिट होंगे)। –

+0

जेनक्स वास्तव में एक जेसीए कंटेनर है जो जेआरटीए लेनदेन प्रबंधक के रूप में GeronimoTM का उपयोग कर रहा है ... – pgras

6

मैंने जेटी के साथ एटमिकोस और जेटीएम का परीक्षण किया है। Atomikos ठीक काम किया और मैं पूरी तरह से इसकी सिफारिश करते हैं। मैंने उदा। मेरे आवेदन में वितरित लेनदेन का परीक्षण करने के लिए स्वचालित इकाई परीक्षण और इन परीक्षणों ने ठीक काम किया।

जहां तक ​​जेटीएम का संबंध है, मुझे पूरा यकीन है कि यह कम से कम कभी-कभी 2-चरणीय प्रोटोकॉल को विफल करता है। मेरे पास 2-चरण प्रतिबद्ध क्षमताओं के साथ एक PostgreSQL डेटाबेस था और JOTM काम करने में सक्षम था जैसे कि मेरे पास वास्तविक वितरित लेनदेन था। असली लेनदेन प्रबंधक (जैसे ग्लासफ़िश में लागू एक) ने इस तरह के मामले में एक त्रुटि की सूचना दी।

यदि मायने रखता है तो मैंने अपने आवेदन में जेबए 2 को हाइबरनेट 4 के साथ उपयोग किया था।

+0

JTOM 2-चरण प्रतिबद्ध प्रोटोकॉल कैसे बनाता है इस पर दिलचस्प टिप्पणी। वेबलोगिक के साथ प्रदान किए गए जेटीए प्रबंधक/ड्राइवर भी वही करते हैं। उन्हें डीबी के साथ प्रस्तुत करते समय नकली होना बेहतर होता है जो इसका समर्थन नहीं करता है (या इसे बंद कर दिया गया है।) –

+0

आमतौर पर आपके पास एक्सए लेनदेन में एक गैर-एक्सए संसाधन हो सकता है। यदि आपका लेनदेन प्रबंधक इस स्थिति को पहचानता है तो वह एक्सए संसाधनों पर तैयार() को कॉल करेगा, क्या वह सफल होना चाहिए, फिर गैर-एक्सए संसाधन सहित लेनदेन में शामिल सभी संसाधनों पर प्रतिबद्ध() को कॉल कर सकते हैं। –

+0

हाँ वे कहते हैं कि कास्टिंग वोट। गैर एक्सए संसाधन यह तय करता है कि यह सब काम करता है या नहीं – stringy05

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