2012-02-24 42 views
0

1)我使用Resteasy來提供RESTful Web服務,該服務可訪問特定的Neo4j圖形數據庫。如何在Resteasy的每次請求之前連接到Neo4j?

隨着RestEasy的,這個網絡資源(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方法進入數據庫。我知道,我必須實例化一個圖形對象(Gremlin):

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

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

您覺得PreProcessInterceptor可能會有幫助嗎?我從來沒有看到任何與數據庫連接的例子。

2)Graph對象是​​否必須靜態定義?是否應該在所有請求之間共享?如何使兩個請求不會變得糾結?

回答

0

我使用的是澤西島,但我們正在做同樣的事情 - 揭露使用neo4j下的REST服務。我所做的就是創建一個帶有getDb()方法的單例,它基本上獲得了neo4j db的句柄。數據庫可以被多個線程共享 - 你只需要確保你多次實例化相同的數據庫。

相關問題