2011-06-21 18 views
7

मैं वेबलॉगिक 10.3 स्थानीय रूप से चलाता हूं और सत्र के बारे में कोई प्रश्न पूछता हूं जो यह उत्पन्न करता है। !वेबलॉगिक jsessionid

BBp9TAACMTglQ2TDFAKR4tpyXg73LZDQJ2PtT9x8htG1tWY122aa 869187422 1308677666322

इन विस्मयादिबोधक अंक हैं और क्या, यह इस प्रकार विशेष रूप से दूसरी जोड़ी क्या:: 1308677666322 जब मैं session.getId() प्रिंट मैं कुछ है कि इस जैसा दिखता है देखते हैं? ऐसा लगता है कि कभी-कभी सर्वर इसे जोड़ता है और कभी-कभी ऐसा नहीं होता है। मेरा मानना ​​है कि वेबलॉगिक इसे जोड़ता है अगर मैं दूसरी बार अपने ऐप में लॉगिन करने के लिए एक ही ब्राउज़र का उपयोग करता हूं। क्या यह कुकी किसी तरह से संबंधित है?

+0

यूआरएल में सत्र आईडी को एन्कोड किए जाने के बारे में अधिक जानकारी के लिए यूआरएल-एन्कोडिंग-सक्षम देखें - http://docs.oracle.com/cd/E13222_01/wls/docs92/webapp/weblogic_xml.html#wp1062269; नोट भी आपके बुनियादी ढांचे विन्यास से संबंधित हो सकता है – BestPractices

उत्तर

20

मेरे अपने आवेदन से कुछ यादृच्छिक रूप से जनरेट Weblogic JSessionIDs को देखते हुए

BrYx4hyPZ4VSP9Wo4eU0OrqmhXMLFONbRHnpLFwRKZ9MSaf6wvYj!-314662473 

और

BrYiFED29itaC4EBpWYM8RKVQQauHkvnTsA2OAKUPZXVc9oUD5fB!-784323496. 

अब अगर आप सत्र id पहले के बाद के हिस्से के नोटिस! i.e 314662473 और 784323496

यह संख्या अद्वितीय पहचानकर्ता है कि वेबलॉगिक चल रहे JVM यानी चल रहे वेबलॉग सर्वर को देता है।

यदि आपके एप्लिकेशन में एक से अधिक सर्वर हैं, तो वेबलॉगिक जानता है कि सत्र 9 का हिस्सा कौन सा 9 अंकों वाला JVM नंबर का उपयोग कर अपने सत्र को सही सर्वर पर वापस कैसे रूट करें।

प्रत्येक बार जब आप वेबलॉगिक सर्वर को पुनरारंभ करते हैं, तो यह एक नई JVM आईडी उत्पन्न करेगा और जब तक वह वेबलॉगिक सर्वर चल रहा है तब तक इसका उपयोग करें। तो उस सर्वर के किसी भी हिट सत्र आईडी के अंत में एक ही आईडी होगा।

format of the session ID है:

jsessionid = SESSION_ID PRIMARY_JVMID_HASH SECONDARY_JVM_HASH CREATION_TIME

तो अगर प्राथमिक उपलब्ध नहीं है, द्वितीयक और के ऊपर से छलांग करने की कोशिश करेंगे अगर आप सत्र प्रतिकृति सक्षम किया है!! - तो सत्र डेटा पुनर्प्राप्त किया जा सकता है। आप स्थानीय पर केवल एक ही सर्वर चला रहे हैं, तो प्रारूप बस

jsessionid = SESSION_ID है! PRIMARY_JVMID_HASH! CREATION_TIME

कुछ समय यह प्रकट नहीं होता है के बारे में, मैंने देखा है यह आमतौर पर एक है ब्राउज़र निर्भर करता है कि क्या सत्र आईडी पता बार में दिखाया गया है या

0

वेबलॉगिक सर्वर वेबलॉग क्लस्टर इन-मेमोरी प्रतिकृति मॉडल में HTTP सत्र एफ़िनिटी को बनाए रखने के लिए उन आईडी का उपयोग करता है।

HTTP सत्र प्रतिकृति सक्षम (वेबलॉगिक.एक्सएमएल परिनियोजन डिस्क्रिप्टर और डिफ़ॉल्ट रूप से अक्षम) के साथ उन वेब अनुप्रयोगों के लिए वेबलॉगिक क्लस्टर के साथ आपके HTTP सत्र की प्राथमिक और बैकअप प्रति रखेगा।

क्लस्टर ओवरहेड से बचने के लिए, वेबलॉगिक प्रॉक्सी प्लग-इन (आपके वेब टियर लेयर में तैनात) सत्र कुकी को पार्स करता है और आपकी प्राथमिक प्रतिलिपि को डब्लूएलएस को हर अनुरोध को रीडायरेक्ट करता है।प्राथमिक सत्र होस्ट करने वाले प्रबंधित सर्वर की विफलता या ओवरहेड के मामले में, प्रॉक्सी प्लग-इन उस अनुरोध को रीडायरेक्ट करता है जहां आपका HTTP सत्र रहता है।

प्रॉक्सी प्लगइन सभी वेबलॉगिक क्लस्टर सदस्यों की गतिशील सूची को जोड़ों (जेवीएम आईडी/आईपी: पोर्ट्स) के रूप में उचित रूप से प्रत्येक अनुरोध को पुनर्निर्देशित करने के लिए ट्रैक करेगा।

यदि आपका ऐप इन-मेमोरी प्रतिकृति सुविधा को सक्षम नहीं करता है तो आपकी कुकी में केवल JVM आईडी शामिल होगी जहां आपका HTTP Sesion रहता है (प्राथमिक और अद्वितीय प्रति)।

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