2017-10-23 1 views
0

Neo 3.2.3으로 업그레이드 할 때 (Neo 2.5에서) 스프링 데이터 종속성을 업그레이드해야했습니다. 업그레이드를위한 주된 이유는 네오의 새로운 볼트 프로토콜을 이용하는 것입니다. 나는 (maven pom.xml을 사용하여) 버전을 버렸고, 특히 세션과 RemoteServer 설정을위한 스캐 폴딩을 설정하는 방법 - 특히 하나의 변경 사항에 문제가있다.스프링 데이터 4.2+로 업그레이드 할 때 RemoteServer()를 바꾸는 방법은 무엇입니까?

org.springframework.data.neo4j.server.RemoteServer이 SD4N API에서 제거되어 코드가 깨져서 다시 컴파일하는 방법을 모르겠습니다. 거의 성공을 거두지 않고 여러 소스를 온라인으로 시도했습니다. 여기에 내가 읽은 내용은 다음과 같습니다 이러한 자원의

Neo4j 3.0 and spring data

https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#_spring_configuration

https://graphaware.com/neo4j/2016/09/30/upgrading-to-sdn-42.html

없음 꽤 봄 구성 (및 클라이언트)가 RemoteServer을 대체 어떤 것을 사용하는 리팩토링하는 방법을 설명하지 목적.

URL, 사용자 이름 및 비밀번호가있는 Spring Data Neo4J로 Neo 데이터베이스에 어떻게 연결합니까?. 이들이 SessionSessionFactory과 어떻게 상호 연관되는지 설명하는 보너스 포인트.

답변

0

구성은 다음과 같아야합니다

@Configuration 
@EnableNeo4jRepositories(basePackageClasses = UserRepository.class) 
@ComponentScan(basePackageClasses = UserService.class) 
static class Config { 

    @Bean 
    public SessionFactory getSessionFactory() { 
     return new SessionFactory(configuration(), User.class.getPackage().getName()); 
    } 

    @Bean 
    public Neo4jTransactionManager transactionManager() throws Exception { 
     return new Neo4jTransactionManager(getSessionFactory()); 
    } 

    @Bean 
    public org.neo4j.ogm.config.Configuration configuration() { 
     return new org.neo4j.ogm.config.Configuration.Builder() 
       .uri("bolt://localhost") 
       .credentials("username", "password") 
       .build(); 
    } 
} 

의 SessionFactory와 세션

here이 문서에 불분명 것에 대해 언급 해주십시오 설명되어 있습니다.

+0

감사합니다. 도움이됩니다. 그래서 Spring은 자동으로 [Neo4j 드라이버] (http://neo4j.com/docs/api/java-driver/current/)를 생성하는 것을 알고 있습니까? 그렇지 않으면 다른 곳에서 인스턴스화 된 것입니까? – alex42johnson

+0

예, 드라이버 초기화는 SDN에서 관리합니다. POM에 올바른 의존성을 제공하십시오. – nmervaillie

관련 문제