2016-04-01 2 views
0

Я знаю, что есть какая-то подобная тема, но ни одно из них не дает решения. Итак, если использовать Spring-data-neo4j, есть ли способ подключения к нескольким графам? НЕ графы в одном экземпляре с разными метками.Spring-data-neo4j multiple graphs

Или то же самое, я могу задать этот вопрос:

Как настроить пружинный данных-Neo4j иметь несколько сеансов в различных случаях Neo4j на разных портах.

Спасибо.

EDIT

Благодаря @Hunger, я думаю, что я один шаг вперед. Теперь возникает вопрос: как настроить Spring-data-neo4j на наличие множественного «PereistenceContext», и каждый из них относится к отдельному экземпляру Neo4j.

+0

Какую версию вы используете? –

+0

Я использую Spring-data-neo4j 4.0.0.RELEASE и Neo4j 2.3.2. –

ответ

1

Вы можете настроить различные контексты приложений с помощью различных заявленных REST-API, указывающих на разные базы данных.

Вы не должны смешивать объекты или сеансы из этих разных баз данных. Таким образом, вам могут понадобиться отборочные для инъекций.

+0

Это звучит неплохо. Есть ли документы? Меня беспокоит то, как сказать репозитории, какие сессии использовать? Например, в cypher, например '@Query (" MATCH (n) RETURN n ")'. –

0

Как о создании нескольких конфигураций:

//First configuration 
@Configuration 
@EnableNeo4jRepositories(basePackages = "org.neo4j.example.repository.dev") 
@EnableTransactionManagement 
public class MyConfigurationDev extends Neo4jConfiguration { 

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

@Bean 
public SessionFactory getSessionFactory() { 
    // with domain entity base package(s) 
    return new SessionFactory("org.neo4j.example.domain.dev"); 
} 

// needed for session in view in web-applications 
@Bean 
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS) 
public Session getSession() throws Exception { 
    return super.getSession(); 
} 
} 

и еще один

//Second config 
@Configuration 
@EnableNeo4jRepositories(basePackages = "org.neo4j.example.repository.test") 
@EnableTransactionManagement 
public class MyConfigurationDev extends Neo4jConfiguration { 

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

@Bean 
public SessionFactory getSessionFactory() { 
    // with domain entity base package(s) 
    return new SessionFactory("org.neo4j.example.domain.test"); 
} 

// needed for session in view in web-applications 
@Bean 
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS) 
public Session getSession() throws Exception { 
    return super.getSession(); 
} 
}