2015-07-20 18 views
7

Çoğu, SDN 3.3.1 veya 4.0.0.RC1 sürümünün neo4j 2.2.x ile çalışması gerektiğini iddia ediyor, ancak çalışmasını sağlayamadım. Bu durum oluştururSDN, Neo4j 2.2x

<?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> 

:

Ben bu bahar yapılandırma yapılandırmasına sahip

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) 

kodunda Looking yapar açıkça: SDN elendi Neo4j kütüphanesinde grubunu belirtir 2.2.x:

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

Bu durumda seçeneklerim nelerdir?

cevap

1

Ben de SDN yeni Neo4j çalışmak alma ile ilgili sorunları vardı Bkz:. BTW Cannot configure @Transaction to work with Spring Data Neo4j

(Java var Benim için çalışan bir yapılandırma, XML'den Java'ya taşınırken onu deneyebilirsiniz ...)

Muhtemelen bu da kayıptan kaynaklanıyordu. neo4j-kernel jar sınıfından ... Hata ayıklama ve kaynak kodunu araştırdıktan sonra bir geçici çözüm bulmak için yönetilen, ancak belki de şu an için en iyi fikir neo4j sürümünün sürümünü yükseltmektir ...

+0

Yaklaşıyor ancak gömülü sunucuyu değil, kalan uç nokta sunucusunu kullanmıyorum. Ya hala bir şeyleri kaçırdığımı ya da yeni SDN'ın sadece sunucu gömülü olduğunda çalışacağını düşünüyorum. – biliboc

5

XML yapılandırması yerine bu Java yapılandırma dosyasını deneyin.

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(); 
    } 
}