在应用程序中,我们仅使用OGM而不使用SpringBoot或相关的api,在我们的控制器中,我们使用以下代码
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 :(得分:1)
对不起,我不能告诉你这是个好主意;)
认真地说,SessionFactory
应该只创建一次。初始化时,它将扫描所有软件包中的NodeEntity
和RelationshipEntity
,并每次都创建(嵌入式)驱动程序。避免这种额外的性能开销,使它变得单调。