如何维护 org.neo4j.ogm.session.SessionFactory 对象
How to maintain org.neo4j.ogm.session.SessionFactory Object
在应用程序中,我们仅使用 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");
}
}
但是每次Controller都会被request调用,这段代码也会调用。
有人可以告诉我每次有任何请求时都调用上面的代码是个好主意吗?或者我们应该 SessionFactory
object Singleton
?
抱歉,我不能告诉你这是个好主意 ;)
说真的,SessionFactory
应该只创建一次。初始化它时,它会扫描所有包中的 NodeEntity
s 和 RelationshipEntity
s,并且每次都会创建(嵌入式)驱动程序。使其成为一种单例以避免这种额外的性能成本。
在应用程序中,我们仅使用 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");
}
}
但是每次Controller都会被request调用,这段代码也会调用。
有人可以告诉我每次有任何请求时都调用上面的代码是个好主意吗?或者我们应该 SessionFactory
object Singleton
?
抱歉,我不能告诉你这是个好主意 ;)
说真的,SessionFactory
应该只创建一次。初始化它时,它会扫描所有包中的 NodeEntity
s 和 RelationshipEntity
s,并且每次都会创建(嵌入式)驱动程序。使其成为一种单例以避免这种额外的性能成本。