दिलचस्प पोस्ट
वर्तमान में चल रहे एप्लिकेशन को एंड्रॉइड में प्रोग्राम कैसे ढूंढें? सी ++ में अपवाद ऑब्जेक्ट का दायरा सी # में एन्यूएम विशेषता का मतलब क्या है? ओरेकल में आंतरिक शामिल होने के साथ अपडेट कथन CSS3 एनीमेशन और प्रदर्शन कोई भी नहीं एएएस 3 में मुख्य रूप से प्रमुख भूमिका निभाई गई है, जो वैक्टर प्रदान करने से अलग है? स्टोरीबोर्ड में कस्टम फोंट? विधानसभा के फ्रेमवर्क (CLR) संस्करण निर्धारित करें न्यूनतम और अधिकतम तिथि जब मैं बैबल का उपयोग करता हूं तो क्या मुझे जेएस की आवश्यकता है? Xcode 6 अजीब बग: इंटरफ़ेस बिल्डर फ़ाइल में अज्ञात वर्ग एक MySQL तालिका पर डुप्लिकेट को कैसे हटाएं? जब कुंजीपटल मौजूद है, तो UITextField कैसे चलाना है? मैं SQL सर्वर प्रबंधन स्टूडियो के साथ एक समग्र कुंजी कैसे बनाऊं? टेस्ट के लिए इकाई फ़्रेमवर्क 4.1 की नकली डीबीसीटीन्टेक्स

टंक्रीट में विभिन्न अनुप्रयोगों के बीच सत्र का हिस्सा साझा करने का कोई भी तरीका?

हम दूसरे को प्रभावित किए बिना एक ऐप को अपडेट करने में सक्षम होने के लिए दो अलग। प्रत्येक वेबएप के पास एक यूआई, अलग-अलग उपयोगकर्ताओं और अलग-अलग कार्यक्रमों की तैनाती होगी।

सबसे आसान रास्ता उसी सत्र को साझा करना लगता है, इसलिए यदि ऐप एक सेट session.setAttribute("foo", "bar") ऐप बी इसे देख सकेगा।

क्या एक ही HttpSession उदाहरण में दोनों ऐप्स के लिए HttpSession का हिस्सा साझा करने का कोई तरीका है?

हमारा ऐप एक समर्पित टोमैक 5.5 पर चल रहा है, वही टॉमकेट इंस्टेंस पर चलने वाले कोई अन्य ऐप नहीं हैं, इसलिए सत्र बांटने के संबंध में किसी भी सुरक्षा संबंधी चिंता एक समस्या नहीं है। हम कई टॉमकेट इंस्टेंस चला रहे हैं, लेकिन बैलेंसर्स स्टिकी सत्रों का उपयोग कर रहा है।

अगर यह संभव नहीं है या यह सत्र साझा करना वास्तव में खराब विचार है तो कृपया एक टिप्पणी छोड़ दें।

वेब के समाधान से एकत्रित समाधान "टंक्रीट में विभिन्न अनुप्रयोगों के बीच सत्र का हिस्सा साझा करने का कोई भी तरीका?"

आपको एचटीटीपी सत्र को साझा नहीं करना चाहिए; लेकिन आप अन्य वस्तुओं को साझा कर सकते हैं उदाहरण के लिए, आप किसी ऑब्जेक्ट को जेएनडीआई के माध्यम से रजिस्टर कर सकते हैं और अपने ऑब्जेक्ट में उसी ऑब्जेक्ट को एक्सेस कर सकते हैं (डाटाबेस इस कनेक्शन कनेक्शन के लिए उपयोग करते हैं)

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

यदि वेबएप को इतनी बारीकी से युग्मित कर दिया गया है कि उन्हें ऑब्जेक्ट साझा करने की आवश्यकता है तो आप इसे दो में क्यों बांट रहे हैं? यहां तक ​​कि अगर आप उन्हें कुछ हद तक स्वतंत्र रूप से प्रबंधित करते हैं तो सभ्य बिल्ड प्रबंधन प्रणाली को तैनाती के लिए एक एकल युद्ध फ़ाइल बनाने में सक्षम होना चाहिए।

एक समाधान जैसे हारून ने सुझाव दिया कि जेएनडीआई काम करे, लेकिन केवल अगर दोनों वेबएप एक ही सर्वर पर चल रहे हों अगर इकाइयां कसकर युग्मित हैं और आप इसे वही सर्वर पर चलाना चाहते हैं … साथ ही एक एकल युद्ध हो सकता है

यदि आप वास्तव में चाहते हैं कि उन्हें स्वतंत्र रूप से खड़ा करना है तो मैं दो के बीच डेटा विनिमय की गंभीरता से जांच करूंगा। आदर्श रूप से आप चाहते हैं कि वे केवल एक दूसरे के साथ प्रासंगिक डेटा साझा करें। यह डेटा POST के द्वारा आगे और पीछे पारित किया जा सकता है (या अधिक उपयुक्त हो तो पैरामीटर), तो आप कुकीज़ का उपयोग करने पर भी विचार कर सकते हैं।

यदि आप स्प्रिंग का उपयोग करना चाहते हैं, तो एक स्प्रिंग सत्र नामक एक परियोजना है: https://github.com/spring-projects/spring-session

उद्धरण: "एचटीटीपी सत्र – अनुप्रयोग कंटेनर (यानी टोमकैट) तटस्थ तरीके से एचटीटीपी सत्र को बदलने की अनुमति देता है"

ऐसा करने का एक तरीका इस ब्लॉग पोस्ट में वर्णित है: अपाचे टॉमकेट में सत्र साझाकरण

सारांश: सम्पर्क के लिए कनेक्टर कॉन्फ़िगरेशन और क्रॉस कंटेंटेक्स्ट में रिक्त सत्र जोड़ें

आप अपने संदर्भ रूट के द्वारा सर्वलेट संदर्भ ले कर कर सकते हैं।

चर को पुनः प्राप्त करने के लिए

 request.getSession().getServletContext().getContext("/{applicationContextRoot}").getAttribute(variableName) 

वैरिएबल सेट करने के लिए:

 request.getSession().getServletContext().getContext("/{applicationContextRoot}").setAttribute(variableName,variableValue) 

नोट: दोनों अनुप्रयोग एक ही सर्वर में तैनात किए जाने चाहिए।

Pls मुझे पता है अगर आपको कोई समस्या मिलती है

<Context crossContext="true" sessionCookiePath="/"> 8: मुझे करना था: <Context crossContext="true" sessionCookiePath="/"> conf / context.xml में

कॉन्फ़िग एट्रिब्यूट्स पर अधिक विवरण यहां

और उसके बाद मान सेट (जैसे @ काजी का जवाब):

 ServletContext servletContext =request.getSession().getServletContext().getContext("contextPath") servletContext.setAttribute(variableName,variableValue) 

मूल्य प्राप्त करने के लिए:

 ServletContext servletContext =request.getSession().getServletContext().getContext("contextPath") servletContext.getAttribute("user"); 

आपको अपने ऐप को उच्च उपलब्धता के आधार पर अलग नहीं करना चाहिए। आप कई बिलाव उदाहरणों पर पूरे ऐप को नियुक्त कर सकते हैं।