Question

1) J'utilise Assuré pour fournir un service Web reposant qui donne accès à un Néo4j Base de données de graphiques.

Avec RESTENSY, cette ressource Web (GraphResource.java) ressemble:

@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
    }
}

Je voudrais avoir accès à DB dans la méthode getUserInfos. Je sais que je dois instancier un objet graphique (avec Diablotin):

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

... Mais je ne sais pas où est le meilleur endroit.

Pensez-vous que PRÉPROSSIONNANT pourrait être utile? Je n'ai jamais vu d'exemple avec une connexion DB.

2) L'objet graphique doit-il être défini statiquement? Doit-il être partagé entre toutes les demandes? Comment faire deux demandes ne s'intègre pas?

Était-ce utile?

La solution

J'utilise Jersey mais nous faisons la même chose - exposant un service de repos qui utilise Neo4j sous les couvertures. Ce que je fais, c'est créer un singleton avec une méthode getdb () qui obtient essentiellement une poignée pour la DB NEO4J. La base de données peut être partagée par plusieurs threads - il vous suffit de vous assurer que vous instanciez la même DB plusieurs fois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top