0

1)特定のNeo4jグラフ データベースへのアクセスを提供する RESTful Web サービスを提供するためにResteasyを使用しています。

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 メソッドで DB にアクセスしたいと考えています。Graph オブジェクトを ( Gremlinで)インスタンス化する必要があることはわかっています。

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

…が、どこが一番いいのかわかりません。

PreProcessInterceptorは役に立つと思いますか? DB接続を含む例は見たことがありません。

2) Graph オブジェクトは静的に定義する必要がありますか? すべてのリクエスト間で共有する必要がありますか? 2つのリクエストが絡まらないようにする方法は?

4

1 に答える 1

0

私は Jersey を使用していますが、同じことを行っています。neo4j を使用する REST サービスを内部で公開しています。私がやっていることは、基本的にneo4j dbへのハンドルを取得するgetDb()メソッドでシングルトンを作成することです。データベースは複数のスレッドで共有できます。同じデータベースを複数回インスタンス化する必要があるだけです。

于 2012-02-25T12:57:08.803 に答える