如何维护org.neo4j.ogm.session.SessionFactory对象

时间:2018-12-03 07:43:03

标签: neo4j neo4j-ogm

在应用程序中,我们仅使用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

1 个答案:

答案 0 :(得分:1)

对不起,我不能告诉你这是个好主意;) 认真地说,SessionFactory应该只创建一次。初始化时,它将扫描所有软件包中的NodeEntityRelationshipEntity,并每次都创建(嵌入式)驱动程序。避免这种额外的性能开销,使它变得单调。