当前位置: 首页 > 知识库问答 >
问题:

Neo4j 2.0与Spring Data 3.0Rest启动的例外

宗政功
2023-03-14

我正在尝试升级到Neo4j 2.0和Spring Data 3.0。当应用程序启动时,在执行任何代码之前,我得到一个空指针。

Caused by: org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing statement MATCH (ref:ReferenceNode {name:{name}}) RETURN ref; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing statement MATCH (ref:ReferenceNode {name:{name}}) RETURN ref; nested exception is java.lang.NullPointerException
at org.springframework.data.neo4j.support.query.CypherQueryEngine.query(CypherQueryEngine.java:56)
at org.springframework.data.neo4j.support.ReferenceNodes.executeQuery(ReferenceNodes.java:77)
at org.springframework.data.neo4j.support.ReferenceNodes.getReferenceNode(ReferenceNodes.java:81)
at org.springframework.data.neo4j.support.typerepresentation.SubReferenceNodeTypeRepresentationStrategy.isStrategyAlreadyInUse(SubReferenceNodeTypeRepresentationStrategy.java:95)
at org.springframework.data.neo4j.support.typerepresentation.TypeRepresentationStrategyFactory.chooseStrategy(TypeRepresentationStrategyFactory.java:56)
at org.springframework.data.neo4j.support.typerepresentation.TypeRepresentationStrategyFactory.<init>(TypeRepresentationStrategyFactory.java:39)
at org.springframework.data.neo4j.config.Neo4jConfiguration.typeRepresentationStrategyFactory(Neo4jConfiguration.java:146)
at org.springframework.data.neo4j.config.Neo4jConfiguration$$EnhancerByCGLIB$$4b018b97.CGLIB$typeRepresentationStrategyFactory$6(<generated>)
at org.springframework.data.neo4j.config.Neo4jConfiguration$$EnhancerByCGLIB$$4b018b97$$FastClassByCGLIB$$5306fd26.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:286)
at org.springframework.data.neo4j.config.Neo4jConfiguration$$EnhancerByCGLIB$$4b018b97.typeRepresentationStrategyFactory(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:160)
... 112 more
Caused by: org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing statement MATCH (ref:ReferenceNode {name:{name}}) RETURN ref; nested exception is java.lang.NullPointerException
at org.springframework.data.neo4j.support.query.CypherQueryEngine.parseAndExecuteQuery(CypherQueryEngine.java:67)
at org.springframework.data.neo4j.support.query.CypherQueryEngine.query(CypherQueryEngine.java:53)
... 128 more
Caused by: java.lang.NullPointerException
at org.neo4j.cypher.ExecutionEngine.prepare(ExecutionEngine.scala:75)
at org.neo4j.cypher.ExecutionEngine.execute(ExecutionEngine.scala:60)
at org.neo4j.cypher.ExecutionEngine.execute(ExecutionEngine.scala:65)
at org.neo4j.cypher.javacompat.ExecutionEngine.execute(ExecutionEngine.java:78)
at org.springframework.data.neo4j.support.query.CypherQueryEngine.parseAndExecuteQuery(CypherQueryEngine.java:65)
... 129 more

Neo4j和Spring数据依赖于Pom.xml

<properties>
    <spring.version>3.2.6.RELEASE</spring.version>
    <springSecurity.version>3.2.0.RELEASE</springSecurity.version>
    <jackson.version>1.9.13</jackson.version>
    <neo4j.version>2.0.0</neo4j.version>
    <springDataNeo4j.version>3.0.0.RC1</springDataNeo4j.version>
    <neo4j-rest-graphdb.version>2.0.0</neo4j-rest-graphdb.version>
</properties>
<!--Neo4j-->
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j</artifactId>
        <version>${neo4j.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-neo4j</artifactId>
        <version>${springDataNeo4j.version}</version>
    </dependency>


    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-rest-graphdb</artifactId>
        <version>${neo4j-rest-graphdb.version}</version>
    </dependency>

上下文文件

<neo4j:config graphDatabaseService="graphDatabaseService" />

<bean id="graphDatabaseService" class="org.neo4j.rest.graphdb.RestGraphDatabase">
    <constructor-arg value="http://localhost:7474/db/data"/>
</bean>

<context:annotation-config />

Neo4j已经启动并运行。

通过http://localhost:7474/browser/一切正常,包括有问题的查询匹配(ref:ReferenceNode{name:{name}})返回ref;

共有1个答案

羊舌炯
2023-03-14

我相信你不需要任何org.neo4j.*依赖关系。也许它只适用于

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-neo4j</artifactId>
    <version>3.0.0.RC1</version>
</dependency>
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-neo4j-rest</artifactId>
    <version>3.0.0.RC1</version>
</dependency>

最新消息

可以确定的是,错误消息是由org生成的。springframework。数据neo4j。支持在getReferenceNode(http://bit.ly/1eDYlYS).

getReferenceNode方法仅从SDN中的一个位置调用,即org。springframework。数据neo4j。支持字体表示法。SubReferenceNodeTypeRepresentationStrategy(http://bit.ly/LW5gly).

此调用正在查找具有标签的节点:引用节点,并且属性name等于root

因此,我建议尝试使用Cypher创建这样一个节点:

CREATE (n:ReferenceNode {name:"root"}) RETURN n;

看看错误是否仍然发生。

 类似资料:
  • 参考 workerman手册 http://doc3.workerman.net/install/start-and-stop.html

  • PHP程序的启动可以看作有两个概念上的启动,终止也有两个概念上的终止。 其中一个是PHP作为Apache(拿它举例,板砖勿扔)的一个模块的启动与终止, 这次启动php会初始化一些必要数据,比如与宿主Apache有关的,并且这些数据是常驻内存的! 终止与之相对。 还有一个概念上的启动就是当Apache分配一个页面请求过来的时候,PHP会有一次启动与终止,这也是我们最常讨论的一种。 现在我们主要来看一

  • 如何在自己的应用程序中创建Telegram API实例?初始化后,如何对用户进行身份验证?通过提供的链接,可以使用方法完成此操作。但是这个方法属于哪个类呢?

  • 我在运行android应用程序时遇到这个错误 05-25 23:58:44.251:E/AndroidRuntime(1128):java.lang.RuntimeException:无法启动activity ComponentInfo{info.AndroidHive.TabsSwipe/Info.AndroidHive.TabsSwipe.MainActivity}:Android.View.

  • 问题内容: 我的服务器程序需要在EC2实例启动时启动。即时即时消息只是使用以下命令从我的SSH启动: 我尝试将其添加到.bashrc和/etc/rc.local文件中,但它们仅在我ssh进入时才起作用。 有人知道怎么做,以便在计算机启动时启动我的应用程序实例吗? 谢谢, 本 问题答案: 您可以创建如下脚本: 将您的脚本放在/etc/init.d目录下,然后使用以下命令: 通过使用有关 update

  • 本文向大家介绍Android显式启动与隐式启动Activity的区别介绍,包括了Android显式启动与隐式启动Activity的区别介绍的使用技巧和注意事项,需要的朋友参考一下 前段时间立志坚持写博客,但是发现自己的积累的确不多,于是假期泡了泡图书馆,读了一些很有价值的文章。收获颇多,今天的文章分享为主,共同学习。 为什么要写显式启动与隐式启动Activity。这源于自己的一次面试,被Baidu