首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用嵌入式驱动程序时将过程部署到Neo4J

使用嵌入式驱动程序时将过程部署到Neo4J
EN

Stack Overflow用户
提问于 2016-07-29 18:34:53
回答 1查看 934关注 0票数 4

我有一些逻辑,需要直接的节点访问neo4j,但为了简单起见,应用程序的其余部分使用Spring。我想用@Procedure来使用一个过程,但我不知道在使用neo4j嵌入式驱动程序和SDN4时如何使用这个过程。我的配置非常简单,如下所示:

代码语言:javascript
复制
@Configuration
@EnableNeo4jRepositories(basePackages = "recommender.repository")
@ComponentScan(basePackages = "recommender")
@EnableTransactionManagement
public class MyNeo4jConfiguration extends Neo4jConfiguration {

@Bean
public SessionFactory getSessionFactory() {

    System.out.println("******* GET SESSION FACTORY!!!!");
    // with domain entity base package(s)
    return new SessionFactory("recommender.model");
}

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

这里有一个属性文件:

代码语言:javascript
复制
#EmbeddedSetup
driver=org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver
#URI=file:/neo4j/data/graph.db

在这种设置下,我可以将类放置在@Procedure和@Context (用于db访问)中,SDN的实现在war部署期间可以访问它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-30 01:00:15

SDN本身没有为您管理过程的功能。但是,有一种方法可以访问底层GraphDatabaseService:

代码语言:javascript
复制
 EmbeddedDriver embeddedDriver = (EmbeddedDriver) Components.driver();
 GraphDatabaseService databaseService = embeddedDriver.getGraphDatabaseService();

使用此方法,您可以注册您的程序。

代码语言:javascript
复制
((GraphDatabaseAPI) getDatabase()).getDependencyResolver().resolveDependency(Procedures.class).register(YourProcedure.class);

但是,不太确定这是否适用于应用程序类路径中的过程类--不过值得一试。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38665465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档