j2ee

2011-11-30 3 views
5

में लंबे समय तक चलने वाले वितरित लेनदेन को कार्यान्वित करने के लिए कैसे मैं अलग-अलग मशीनों पर एक डेटाबेस से दूसरे डेटाबेस में रिकॉर्ड ले जाना चाहता हूं। रिकॉर्ड्स को पहले डेटाबेस से हटा दिया जाना चाहिए और परमाणु रूप से दूसरे डेटाबेस में डाला जाना चाहिए।j2ee

क्या हम xa का उपयोग कर सकते हैं? मेरा मानना ​​है कि xa 2 चरण प्रतिबद्ध एल्गोरिदम का उपयोग करता है जिसके लिए संसाधनों पर अवरुद्ध ताले की आवश्यकता होती है

लक्ष्य डेटाबेस एक ईआईएस डेटाबेस है, इसलिए इसे न्यूनतम समय के लिए बंद कर दिया जाना चाहिए।

+0

आपका "लंबा चलने" का मतलब क्या है? घंटे ? दिन? –

+0

दोनों ऑरैकल डेटाबेस हैं? यदि ऐसा है, तो dblink का उपयोग एक विकल्प हो सकता है। यह कनेक्टिन आपकी डीबी परत के भीतर होगा। यह एक प्रक्रिया या एक plsql हालांकि लागू किया जा सकता है। – techuser

उत्तर

0

एक्सए लॉकिंग तंत्र पर कोई घटना नहीं है। यह सुनिश्चित करता है कि यदि आप दो अलग-अलग लेनदेन संसाधन अपडेट करते हैं तो भी एसिडिटी संरक्षित है। यदि आप सही ढंग से समझते हैं, तो आपका उपयोग केवल एक अपडेट करता है, इसलिए XA यहां आवश्यक नहीं है।

+0

यदि xa नहीं है, तो और क्या? –

+0

एक स्थानीय लेनदेन। आप एक डेटाबेस अपडेट कर रहे हैं। क्या डेटा जीयूआई से आता है या कोई अन्य डेटाबेस बनाता है इससे कोई फर्क नहीं पड़ता। अपने लक्षित डेटाबेस का उपयोग किसी भी अन्य उपयोग-मामले में करें जो डेटाबेस को अद्यतन करता है। –

+0

यदि मैं स्थानीय लेनदेन का उपयोग करता हूं तो यह संभव है कि डेटा लक्ष्य के लिए किया जाता है लेकिन स्रोत से साफ़ नहीं किया जाता है। –

1

एक्सए वास्तव में एक 2 चरण प्रतिबद्धता अवरोध प्रोटोकॉल है, लेकिन मेरे मामले में केवल दो इकाइयां हैं जो पहली इकाई के साथ बहुत तेज हैं। तो 2 पीसी मेरे लिए कुशलता से काम करेगा।

अधिक सामान्य परिदृश्य के लिए 3 चरण प्रतिबद्धता का उपयोग किया जा सकता है। यह एक गैर-अवरुद्ध प्रोटोकॉल है। हालांकि ऐसा लगता है कि कोई जावा विनिर्देश नहीं है।

भी बीटीपी और http://jotm.objectweb.org/jotm-btp.html पर आया यह सुनिश्चित नहीं है कि यह जेडीबीसी एडाप्टर के साथ कितनी आसानी से जुड़ा जा सकता है।

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

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