জেটিএ এবং স্থানীয় লেনদেনের মধ্যে পার্থক্য কী?
একটি উদাহরণ যা দেখায় যে কখন জেটিএ ব্যবহার করতে হবে এবং কখন স্থানীয় লেনদেন ব্যবহার করা দুর্দান্ত।
জেটিএ এবং স্থানীয় লেনদেনের মধ্যে পার্থক্য কী?
একটি উদাহরণ যা দেখায় যে কখন জেটিএ ব্যবহার করতে হবে এবং কখন স্থানীয় লেনদেন ব্যবহার করা দুর্দান্ত।
উত্তর:
JTA
জাভাতে লেনদেন পরিচালনার জন্য একটি সাধারণ এপিআই। এটি আপনাকে সংস্থান নিরপেক্ষ উপায়ে লেনদেন শুরু, প্রতিশ্রুতিবদ্ধ এবং রোলব্যাক করার অনুমতি দেয়। লেনদেনের স্থিতি সাধারণত টিএলএস (থ্রেড লোকাল স্টোরেজ) এ সংরক্ষণ করা হয় এবং কোনও স্পষ্ট প্রসঙ্গ অবজেক্টের চারপাশে পাস করার প্রয়োজন ছাড়াই কল-স্ট্যাকের অন্যান্য পদ্ধতিতে প্রচার করা যেতে পারে। লেনদেনের সংস্থানগুলি চলমান লেনদেনে যোগ দিতে পারে। যদি এই জাতীয় লেনদেনে একাধিক সংস্থান অংশ নিয়ে থাকে তবে তাদের মধ্যে কমপক্ষে একজনকে তথাকথিত এক্সএ সংস্থান হতে হবে।
এ resource local transaction
হ'ল একটি লেনদেন যা আপনার নিজস্ব নির্দিষ্ট এপিআই ব্যবহার করে একটি নির্দিষ্ট একক সংস্থান সহ। এই জাতীয় লেনদেন সাধারণত কল স্ট্যাকের অন্যান্য পদ্ধতিতে প্রচার করে না এবং আপনাকে কিছু স্পষ্ট প্রসঙ্গ অবজেক্টটি পাস করতে হবে। স্থানীয় সংস্থাগুলির বেশিরভাগ অংশে একই লেনদেনে অংশ নেওয়া একাধিক সংস্থান থাকা সম্ভব নয়।
আপনি জাভা এসই-তে নিম্ন-স্তরের জেডিবিসি কোডের জন্য কোনও সংস্থানীয় স্থানীয় লেনদেন ব্যবহার করবেন। এখানে কনটেক্সট অবজেক্ট একটি উদাহরণ দ্বারা প্রকাশ করা হয় java.sql.Connection
। রিসোর্স লোকাল লেনদেনের অন্যান্য উদাহরণ হ'ল ডেভেলপাররা এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরি করে ২০০২ সালে। যেহেতু লেনদেন পরিচালকরা (জেটিএ দ্বারা ব্যবহৃত) সেই যুগে প্রায় ব্যয়বহুল, বদ্ধ উত্স এবং জটিল জিনিসগুলি সেটআপ করার জন্য, লোকেরা সস্তার স্থানীয় বৈকল্পগুলি প্রাপ্ত করার জন্য সস্তা এবং সহজ সাথে চলেছিল।
আপনি মূলত প্রতিটি অন্যান্য দৃশ্যে একটি জেটিএ লেনদেন ব্যবহার করবেন। টমইই (25 এমবি) বা গ্লাস ফিশ (35 এমবি) এর মতো খুব সহজ, ছোট, ফ্রি এবং ওপেন সোর্স সার্ভারগুলির বাক্সের বাইরে জেটিএ সমর্থন রয়েছে। সেটআপ করার মতো কিছুই নেই এবং তারা কেবল কাজ করে।
শেষ অবধি, ইজেবি এবং স্প্রিংয়ের মতো প্রযুক্তিগুলি জেটিএকে অফার দিয়ে ব্যবহার করা আরও সহজ করে তোলে declarative transactions
। বেশিরভাগ ক্ষেত্রে এগুলি সেগুলিকে সহজ, ক্লিনার এবং কম ত্রুটিযুক্ত প্রবণ হিসাবে ব্যবহার করার পরামর্শ দেওয়া হয়। EJB এবং স্প্রিং উভয়ই কভারের নীচে জেটিএ ব্যবহার করতে পারে।
লেনদেন-প্রকারটি জাভা এসই অ্যাপ্লিকেশনের জন্য "RESOURCE_LOCAL" এবং জাভা EE অ্যাপ্লিকেশনের জন্য "জেটিএ" তে সেট করা উচিত। টমক্যাটে মোতায়েন করা কিছু ওয়েব অ্যাপ্লিকেশনটিতে "RESOURCE_LOCAL" সূক্ষ্ম কাজ করতে পারে তবে আপনি যখন কাচফিশের পরিবেশের অধীনে আপনার অ্যাপ্লিকেশনটি চালাচ্ছেন তখন সমস্যার কারণ হতে পারে।
আপনি যদি বিতরণ লেনদেনের বিষয়ে কাজ করে থাকেন তবে আপনাকে অবশ্যই আপনার লেনদেন পরিচালক হিসাবে "জেটিএ" ব্যবহার করতে হবে।
জে 2 ই ই অ্যাপ্লিকেশনটিতে 2 টি স্পেসিফিকেশন
জেটিএ ---> জাভা ট্রানজেকশন API.highe স্তরের প্রয়োগের মাধ্যমে সাপোয়ার্ট ফট ডিটি অন্তর্ভুক্ত রয়েছে এবং সর্বদা
জেটিএস ---> জাভা ট্রানজেকশন পরিষেবা সক্ষম করে ।