neo4j - 如何维护 org.neo4j.ogm.session.SessionFactory 对象
问题描述
在应用程序中,我们仅使用 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
?
解决方案
抱歉,我不能告诉你这是个好主意;)说真的,SessionFactory
应该只创建一次。初始化它时,它会扫描你所有的包以查找NodeEntity
s 和RelationshipEntity
s 并且每次都创建(嵌入式)驱动程序。让它成为一种单例以避免这种额外的性能成本。
推荐阅读
- java - 如何通过 web3j 从 geth 获取 txpool 中的待处理 txns 和排队 txns
- google-sheets - ArrayFormula 与电子表格中的平均公式
- mathjax - MathJax 3:\text{} 和 \textrm{} 之间有什么区别吗?
- android - 如何获得 ios 和 android 的活动推荐(在 react native 项目中)
- ffmpeg - ffmpeg 管道从 numpy 数组或 bgr24 字节生成 h264 块
- excel - Excel根据每个日期确定升序
- opencv - 我想将视频转换为 jpg 图像
- r - 子文件夹名称列表、文件夹路径和修改日期字段
- python - 如何避免 Python 子进程停止执行
- sql - 我们可以在 PGADMIN4 中创建表而不指定数据类型的长度吗?