Tomcat服务器需要重新启动才能获取更新的Neo4J数据库

时间:2016-11-23 10:48:34

标签: java web-services neo4j tomcat8 application-restart

我使用Apache Tomcat 作为我的网络服务器。我有一个RESTful Web服务,它从Neo4J图形数据库中获取数据。 Neo4J 图表数据库会定期更新。除非我重新启动tomcat服务器,否则我的Web服务不会获取新结果。因此,我需要在每次成功构建Neo4J图之后重新启动tomcat服务器(我认为这不是一个好习惯)。

需要帮助。

[编辑]

因此,我的Web服务已从属性文件中定义的路径读取Neo4J文件夹。

NEO4J_PATH = /home/user/databases/GraphDB/Neo4Jdb

我的Tomcat已安装在/home/user/softwares/tomcat

我的网络服务代码保存在/home/user/software/tomcat/webapps/webservice

每天,我的Neo4Jdb都会更新。当我在不重新启动tomcat服务器的情况下进行Web服务调用时,新的结果不会出现。只有在我重新启动服务器后,才会显示新结果。

1 个答案:

答案 0 :(得分:1)

看起来您在Tomcat中运行的应用程序使用embedded Neo4j instance,但带有图表数据的目录是否由另一个进程更新?这是一个灾难的处方(或至少是重大的运行时间破坏)。

Neo4j是一个(图表)数据库管理系统,它应该管理其数据:任何修改都应该在它运行时进行。

我在这里看到两种方式:

  • 让应用程序公开API以更新数据
  • 让应用程序在更新目录之前停止嵌入式实例(通过API),然后启动新实例