/ / जावा मल्टीथ्रेडेड टीसीपी सॉकेट / जेडडीबीसी कनेक्शन - जावा, सॉकेट्स, जेडडीबी, टीसीपी

जावा मल्टीथ्रेडेड टीसीपी सॉकेट / जेडीबीसी कनेक्शन - जावा, सॉकेट, जेडीबीसी, टीसीपी

मुझे एक आवश्यकता है जहां दो प्रणालियां (ऑन) हैंविभिन्न प्लेटफार्मों) को वास्तविक समय में एक दूसरे के साथ संवाद करने की आवश्यकता होती है। हमने दो अनुप्रयोगों के बीच जावा सॉकेट कनेक्शन के साथ निर्णय लिया। मैं एक जावा सॉकेट सर्वर का निर्माण करूंगा, जो एक जावा क्लाइंट (जो किसी अन्य सिस्टम पर बैठता है) से एक संदेश (ग्राहक आईडी) प्राप्त करता है और सॉकेट सर्वर उस ग्राहक आईडी के लिए ग्राहक वफादारी ponts देता है। वफादारी अंक प्राप्त करने के लिए एक डेटाबेस में एक jdbc कनेक्शन की आवश्यकता होगी। मैं निम्नलिखित जानना चाहता हूं

  • एप्लिकेशन सर्वर में वेबलॉजिक स्थापित है, क्या मैं अपने जावा सॉकेट सर्वर को वेबलॉजिक में तैनात कर सकता हूं?
  • सर्वर बहु-थ्रेडेड है और एक नया बनाता हैहर बार नए कनेक्शन के लिए धागा एक नया ग्राहक एक कनेक्शन बनाता है। मुझे लगता है कि यह प्रत्येक नए थ्रेड के लिए एक नया JDBC कनेक्शन बनाएगा। क्या वह सही है?
  • कनेक्शन पूलिंग (सॉकेट / जेडडीबी) दोनों को कैसे प्रबंधित किया जाएगा?

उत्तर:

जवाब के लिए 0 № 1

आप किसी भी जावा ईई सर्वर में जेसीए के माध्यम से सर्वर सॉकेट को उजागर कर सकते हैं। शायद आप इसे स्वयं लागू करने की आवश्यकता नहीं करते हैं: जेसीए सॉकेट्स

एक जावा ईई सर्वर के लिए एक ग्राहक के माध्यम से भी कनेक्ट कर सकते हैंकुछ ईजेबी को आरएमआई। लेकिन इसमें आमतौर पर एप्लिकेशन सर्वर विशिष्ट पुस्तकालयों का उपयोग शामिल होता है। इसलिए यदि आपके एप्लिकेशन को विभिन्न सर्वरों पर चलना है, तो यह एक विकल्प नहीं हो सकता है।

थ्रेडिंग आपके लिए पूरी तरह से नियंत्रित की जाती है। आने वाली कॉल (जेसीए या आरएमआई के माध्यम से) आमतौर पर एक कार्यकर्ता थ्रेड (सर्वर द्वारा प्रदान) का उपयोग करती है।

कनेक्शन पूलिंग भी आपके लिए है। अपने टीसीपी सर्वर के लिए आपको इसकी आवश्यकता नहीं है, आपके पास केवल एक सर्वर सॉकेट है और वह है। JDBC कनेक्शन के लिए आमतौर पर जावा ईई सर्वर में पूल को कॉन्फ़िगर करता है और आपको प्रति लेन-देन (प्रति थ्रेड नहीं, बल्कि कनेक्शन आमतौर पर लेन-देन के लिए बाध्य होते हैं) जो जरूरत पड़ने पर बंधे होते हैं (जो कुछ है) DataSource.getConnection() बनाया जा रहा है [सीधे या किसी और चीज़ से, उदा। जेपीए])।

और इसके अतिरिक्त: आप अपने सर्वर से कनेक्ट करने के लिए हमेशा REST या SOAP का उपयोग कर सकते हैं।