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

带Neo4j 2.2x的SDN

南门祯
2023-03-14

许多人声称SDN版本是3.3.1或4.0.0。RC1应该与neo4j 2.2. x工作,但我不能使它工作。

我有以下spring配置:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j-2.2.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

    <context:annotation-config />
    <context:spring-configured />

    <neo4j:config graphDatabaseService="graphDatabaseService" base-package="com.x.protogy.neo4j"/>
    <bean id="graphDatabaseService"
        class="org.springframework.data.neo4j.rest.SpringCypherRestGraphDatabase">
      <constructor-arg index="0" value="http://localhost:7476/db/data" />
    </bean>
    <tx:annotation-driven mode="aspectj"
        transaction-manager="transactionManager" />

</beans>

这将生成此异常:

Caused by: java.lang.ClassNotFoundException: org.neo4j.kernel.impl.nioneo.store.StoreId
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1324)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)

查看代码可以清楚地看到:SDN指的是neo4j库中的一个类,它在2.2中被删除。x:

org.neo4j.kernel.impl.nioneo.store.StoreId

在这种情况下,我有什么选择?

共有3个答案

上官高逸
2023-03-14

我在让SDN与新Neo4j一起工作时也遇到了一些问题:无法将@Transaction配置为与Spring Data Neo4j一起工作

(顺便说一句,有一个Java配置适合我,也许在从XML迁移到Java时可以尝试一下…)

这可能也是由于neo4j内核jar中缺少类造成的。。。在调试和调查源代码后,设法找到了一个解决办法,但现在最好的办法可能是降级neo4j版本。。。

苏丰茂
2023-03-14

我可以为SDN4(4.0.0.RC1)做出明确的回答——它肯定与Neo4J2.2一起工作

不支持XML配置,因此需要使用基于Java配置。看http://docs.spring.io/spring-data/neo4j/docs/4.0.0.RC1/reference/html/#reference_setup

也是一个简短的指南https://www.airpair.com/neo4j/posts/the-essence-of-spring-data-neo4j-4

和示例应用程序https://github.com/neo4j-examples?query=sdn4

王渊
2023-03-14

请尝试此Java配置文件,而不是XML配置。

import org.neo4j.ogm.session.Session;
import org.neo4j.ogm.session.SessionFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;


@Configuration
@EnableNeo4jRepositories("com.app.repository")
@EnableTransactionManagement
@ComponentScan("com.app")

public class AppNeo4jConfiguration extends Neo4jConfiguration{


    public SessionFactory getSessionFactory() {
        return new SessionFactory("com.app.bo");
    }


    @Bean
    public Neo4jServer neo4jServer() {
        return new RemoteServer("http://localhost:7474");
    }


    @Bean
    @Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
    public Session getSession() throws Exception {
        return super.getSession();
    }
}
 类似资料:
  • 我有一个报告,我想在其中显示页脚,但不想显示页眉部分-在摘要带。我可以通过选中“带有页眉和页脚的摘要”来显示两者或不显示。

  • 现在我的问题是,如何在自定义的而不是自定义的中重写方法?我没有在这里公布我的代码,因为它与链接的代码本质上是相同的,只是我需要为子创建一个自定义的来代替,这样它就可以按照“pptang”的答案所述进行正确的度量。 否则,有没有比在第二个RecyclerView中使用1个RecyclerView更好的方法?只能有1个RecyclerView使用上述列表和每个中唯一项的网格填充活动/片段吗?

  • 2)如果困境是真的,为什么事情要这样设置?谷歌计划反对TabHost和基于标签的多活动方法吗?多活动方法有什么不愉快的地方吗? 3)如果继续支持这两种方法,它们的优缺点是什么?如果我使用ActionBar+片段,我会遇到任何困难吗?例如,当我想让我的一个选项卡屏幕滑过/弹出一个额外的屏幕/片段时,我会不会在ActionBar中切换到/从选项卡中切换到选项卡?

  • 问题内容: 之间有什么区别 和 我都尝试过,但似乎都可以,但是我是在问,以防万一我需要小心(例如,%以外的单位等)。 问题答案: 这完全是关于HTML标记的真实有效性。这是W3C(WWW联盟)的工作目的。许多事情可能都在HTML中起作用,但是必须进行验证才能被网络浏览器更仔细地识别。您甚至可以在开头和结尾处省略and 标记,但是完全不建议这样做,没有人这样做,它被视为“错误代码”。 因此,将它们放

  • 根据Spring网站上的这个教程,我知道了如何使用Stomp和Spring4建立一个基于WebSocket的应用程序。在客户端,我们有: 在服务器端,控制器中有以下内容: 现在,我明白了确保如果消息发送到目标,那么将调用方法。由于订阅了,将消息发送回。 那么,有什么方法可以用Spring4、SockJS和没有跺脚的情况下做到这一点呢?还是Spring4WebSocket只支持stomp?

  • 我正在尝试将vaadin与spring(没有Spring Boot)和基于java注释的spring部分配置结合起来。 自动连接似乎适用于vaadin ui部分,但不适用于“自定义ui类”(例如,“公共类LoginScreen扩展自定义组件”)。我在SysOut上得到一个NPE或一个空对象。 此外,我注意到“@ComponentScan(base Packages={"net.myapp"})”没