【问题标题】:How to connect to Neo4j before each request on Resteasy?如何在 Resteasy 上的每个请求之前连接到 Neo4j?
【发布时间】:2012-02-24 09:04:38
【问题描述】:

1) 我正在使用 Resteasy 提供一个 RESTful Web 服务,它可以访问特定的 Neo4j 图形数据库。

使用 Resteasy,这个 Web 资源 (GraphResource.java) 看起来像:

@Path("graph")
public class GraphResource {

    @GET
    @Path("users/{id}")
    @Produces(MediaType.APPLICATION_JSON)
    public String getUserInfos(@PathParam("id") String id) {
        // Search the database, get a string representation and return it
    }
}

我想在 getUserInfos 方法中访问数据库。我知道我必须实例化一个 Graph 对象(使用Gremlin):

Graph graph = new Neo4jGraph("/tmp/neo4j");

...但我不知道哪里是最好的地方。

你认为PreProcessInterceptor 有用吗?我从未见过任何与数据库连接有关的示例。

2) Graph 对象是否必须静态定义?它应该在所有请求之间共享吗?如何让两个请求不纠缠?

【问题讨论】:

    标签: rest resteasy neo4j graph-databases gremlin


    【解决方案1】:

    我正在使用 Jersey,但我们正在做同样的事情 - 公开使用 neo4j 的 REST 服务。我所做的是使用 getDb() 方法创建一个单例,该方法基本上可以获得 neo4j 数据库的句柄。数据库可以由多个线程共享——您只需要确保多次实例化同一个数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多