आवेदन में हम केवल ओजीएम का उपयोग कर रहे हैं और कोई स्प्रिंगबूट या संबंधित एपीआई नहीं है, हमारे नियंत्रक में हम नीचे दिए गए कोड का उपयोग कर रहे हैं

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 बनाना चाहिए?

0
Subodh Joshi 3 पद 2018, 10:43

1 उत्तर

सबसे बढ़िया उत्तर

क्षमा करें, मैं आपको यह नहीं बता सकता कि यह एक अच्छा विचार है;) गंभीरता से, SessionFactory को केवल एक बार बनाया जाना चाहिए। इसे इनिशियलाइज़ करते समय, यह आपके सभी पैकेजों को NodeEntitys और RelationshipEntitys के लिए स्कैन करेगा और हर बार (एम्बेडेड) ड्राइवर भी बनाएगा। इस अतिरिक्त प्रदर्शन लागत से बचने के लिए इसे एक तरह का सिंगलटन बनाएं।

1
meistermeier 6 पद 2018, 14:44