मैंने अभी एक सरल जावा टेस्टप्रोजेक्ट शुरू किया है जो कुछ इकाइयों को हाइबरनेट का उपयोग करके प्रबंधित करता है और इन वस्तुओं को कुशल बनाने और कुछ अतिरिक्त व्यावसायिक तर्क प्रदान करने के लिए एक आरईएसटी इंटरफ़ेस प्रदान करता है। आरईएसटी इंटरफ़ेस रीस्टेसी और जेट्टी का उपयोग करके बनाया गया है।प्रति अनुरोध हाइबरनेट-सत्र बनाएं
सब कुछ ठीक काम करता है, लेकिन मुझे लगता है कि मैं वास्तव में बहुत अधिक बॉयलरप्लेट कोड लिख रहा हूं। चूंकि मुझे इन जावा ढांचे में ज्यादा अनुभव नहीं है, इसलिए मैं सोच रहा हूं कि कोई मुझे स्थिति में सुधार करने के बारे में संकेत दे सकता है।
- Creting हाइबरनेट सत्र अनुरोध
खैर प्रति, जहाँ तक मैं समझ गया मैं अनुरोध के अनुसार एक हाइबरनेट सत्र बनाने के लिए और अंत में मैं इसे बंद करने के लिए किया है। तो वर्तमान में मेरे सेवा तरीकों के सभी इस तरह दिखेगा:
Session session = HibernateUtil.getInstance().getSessionFactory().openSession();
...
...
...
session.close();
वहाँ आदेश किसी भी तरह स्वचालित रूप से ऐसा करने के लिए इन दो पंक्तियों को हटाने के लिए कोई तरीका है? वर्तमान में मेरी सेवा एक रेस्टीसी सिंगलटन के रूप में पंजीकृत है। एक रेस्टेसी रिसोर्स में बदल जाएगा और कन्स्ट्रक्टर में सत्र बनाने से समस्या हल हो जाएगी? मुझे लगता है कि यह सत्र बनाने की समस्या को हल करेगा। लेकिन इसे बंद करने के लिए कहां?
सी ++ में यह आसानी से एक स्कोप्ड ऑब्जेक्ट बना सकता है जो अंत में सत्र बंद कर देता है। लेकिन जावा में?
- जब भी ऐसा कोई आरईएसटी अनुरोध किया जाता है तो मुझे एक वैध सत्र (उपयोगकर्ता को पहले लॉगिन करना होगा) की जांच करनी होगी। क्या ServletFilter ऐसा करने का सही तरीका है?
सामान्य: क्या कोई अन्य पैटर्न या ढांचे का उपयोग करने पर विचार करना चाहिए? मेरा मतलब है कि मैं इसे यथासंभव सरल रखना चाहता हूं और विशेष रूप से मेरे पास इतना अनुभव नहीं है कि मैं स्प्रिंग या जो भी हेवीवेट फ्रेमवर्क का उपयोग करना समाप्त नहीं करना चाहता हूं। ऐसा लगता है कि मुझे पाइथन और डीजेगो की सादगी के लिए उपयोग किया जाता है लेकिन इस छोटी परियोजना के लिए मुझे जावा का उपयोग करना होगा।
अभी तक धन्यवाद!
ठीक है, लेकिन मैं सत्र कहां बंद करूं? – duselbaer
स्ट्रूट 2 के मामले में, आप सत्र ऑब्जेक्ट को प्रारंभ और बंद करने के लिए इंटरसेप्टर का उपयोग कर सकते हैं। –