2012-02-23 16 views
9

Play 1.0 के साथ हमारे पास session.getId() विधि एक अद्वितीय सत्र पहचानकर्ता पुनर्प्राप्त करने के लिए थी।Play 2.0 में session.id कहां है?

आईडी वैश्विक कैश में उपसर्ग कुंजी के लिए आसान थी।

Play 2.0 session.id बराबर कहां है?

उत्तर

12

चूंकि सत्र डेटा कुकीज़ के रूप में संग्रहीत किया जाता है, इसलिए play 2.0 के साथ कोई और सत्र आईडी नहीं है। वास्तव में पहचान टोकन की कोई आवश्यकता नहीं है, सर्वर डेटा को पूरी तरह से स्टेटलेस छोड़ने के हर सत्र के साथ सत्र डेटा बस पास किया जाता है।

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

// Generate a unique id 
String uuid=session("uuid"); 
if(uuid==null) { 
    uuid=java.util.UUID.randomUUID().toString(); 
    session("uuid", uuid); 
} 

सत्र आईडी कोड का उपयोग करें? ऐसा लगता है कि जावा ईई वैसे भी ...

+0

वैश्विक कैश में ऑब्जेक्ट्स के जीवन चक्र को आप कैसे नियंत्रित करते हैं? आप टीटीएल और अन्य समाप्ति पैरामीटर को कॉन्फ़िगर करते हैं? –

+0

जीवन चक्र कैश कार्यान्वयन पर निर्भर करता है। मुझे विवरण पता नहीं है, अगर मुझे याद है कि ईएचसीएच वीक रेफरेंस का उपयोग करता है जिसे जेवीएम को स्मृति की आवश्यकता होती है तो साफ़ कर दिया जाता है। ईएचसीएच कैशिंग के लिए सबसे अच्छा एपीआई में से एक है, मुझे यकीन है कि वे समाप्ति सेटिंग्स का समर्थन करते हैं। –

+0

ठीक है, लेकिन Play 2.0 में मूल रूप से भिन्न/बेहतर क्या है? एक सत्र (सामान्य रूप से) एक निश्चित जीवन चक्र के साथ सिर्फ एक दुकान है। "राज्य की परेशानी" immomenation विवरण के कारण imho है। –

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