Neo4j写入日志和应用程序重启后无法将事务应用于存储

时间:2017-05-20 16:53:34

标签: neo4j spring-data-neo4j neo4j-ogm neo4j-ogm-bolt-driver

在我的Neo4j 3.1.3 / SDN 4项目中,我不时遇到以下Neo4j例外:

Caused by: java.lang.RuntimeException: org.neo4j.ogm.exception.TransactionException: Could not apply the transaction to the store after written to log
    at org.neo4j.ogm.drivers.bolt.request.BoltRequest.executeRequest(BoltRequest.java:175)
    at org.neo4j.ogm.drivers.bolt.request.BoltRequest.execute(BoltRequest.java:89)
    at org.neo4j.ogm.autoindex.AutoIndexManager.assertIndexes(AutoIndexManager.java:187)
    at org.neo4j.ogm.autoindex.AutoIndexManager.build(AutoIndexManager.java:92)
    at org.neo4j.ogm.session.SessionFactory.<init>(SessionFactory.java:45)
    at org.neo4j.ogm.session.SessionFactory.<init>(SessionFactory.java:93)
    at com.example.domain.api.configuration.Neo4jConfig.sessionFactory(Neo4jConfig.java:38)
    at com.example.domain.api.configuration.Neo4jConfig$$EnhancerBySpringCGLIB$$bcccfdf9.CGLIB$sessionFactory$2(<generated>)
    at com.example.domain.api.configuration.Neo4jConfig$$EnhancerBySpringCGLIB$$bcccfdf9$$FastClassBySpringCGLIB$$e2dbf1bb.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358)
    at com.example.domain.api.configuration.Neo4jConfig$$EnhancerBySpringCGLIB$$bcccfdf9.sessionFactory(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)

我使用Bolt驱动程序连接到Neo4j。

为了解决这种情况,我必须重新启动我的Neo4j服务器,并且还必须重启我的应用程序(重启Tomcat服务器)。

是否可以配置我的Bolt驱动程序/数据源..等,以便启动并运行我的应用程序而无需重新启动应用程序本身..只重新启动neo4j服务器?

1 个答案:

答案 0 :(得分:1)

不确定这与OGM有关,而是在数据库方面看起来有问题。 也许在neo4j gitub上用相关的db日志报告这个。

在应用程序启动时禁用索引检查可能会有所帮助。 这可以通过从indexes.auto文件(或等效的java配置)中删除ogm.properties条目来完成。 见http://neo4j.com/docs/ogm-manual/current/reference/#reference:indexing