1) Я использую Resteasy для предоставления веб-службы RESTful, которая предоставляет доступ к определенной 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. Я знаю, что мне нужно создать экземпляр объекта Graph (с Gremlin ):
Graph graph = new Neo4jGraph("/tmp/neo4j");
... но я не знаю, где лучшее место.
Как вы думаете, PreProcessInterceptor может быть полезным? Я никогда не видел ни одного примера с подключением к БД.
2) Нужно ли статически определять объект Graph? Должно ли оно быть общим для всех запросов? Как сделать, чтобы два запроса не запутались?