आवेदन में हम केवल ओजीएम का उपयोग कर रहे हैं और कोई स्प्रिंगबूट या संबंधित एपीआई नहीं है, हमारे नियंत्रक में हम नीचे दिए गए कोड का उपयोग कर रहे हैं
public TopologyExtController( @Context org.neo4j.graphdb.GraphDatabaseService graphDb ) {
if( this.sessionFactory == null )
{
this.sessionFactory = new org.neo4j.ogm.session.SessionFactory(new org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver(graphDb), "com.demo.entity");
}
}
लेकिन हर बार नियंत्रक को अनुरोध करके बुलाया जाएगा, यह कोड भी कॉल करता है। क्या कोई कृपया मुझे बता सकता है कि जब भी कोई अनुरोध आता है तो हर बार उपरोक्त कोड को कॉल करना अच्छा विचार है? या हमें SessionFactory
ऑब्जेक्ट Singleton
बनाना चाहिए?
1 उत्तर
क्षमा करें, मैं आपको यह नहीं बता सकता कि यह एक अच्छा विचार है;) गंभीरता से, SessionFactory
को केवल एक बार बनाया जाना चाहिए। इसे इनिशियलाइज़ करते समय, यह आपके सभी पैकेजों को NodeEntity
s और RelationshipEntity
s के लिए स्कैन करेगा और हर बार (एम्बेडेड) ड्राइवर भी बनाएगा। इस अतिरिक्त प्रदर्शन लागत से बचने के लिए इसे एक तरह का सिंगलटन बनाएं।
संबंधित सवाल
नए सवाल
neo4j
Neo4j एक ओपन-सोर्स ग्राफ़ डेटाबेस (GDB) है जो कनेक्टेड डेटा के अनुकूल है। प्रश्न पूछते समय कृपया Neo4j के अपने सटीक संस्करण का उल्लेख करें। आप इसका उपयोग अनुशंसा इंजन, धोखाधड़ी का पता लगाने, ग्राफ़-आधारित खोज, नेटवर्क ऑप्स / सुरक्षा और कई अन्य उपयोगकर्ता मामलों के लिए कर सकते हैं। डेटाबेस जावा, जावास्क्रिप्ट, पायथन और .NET में आधिकारिक ड्राइवरों, या पीएचपी, रूबी, आर, गोलांग, एलिक्सिर, स्विफ्ट और अधिक में सामुदायिक-योगदान वाले ड्राइवरों के माध्यम से पहुँचा है।