サーバーモードでneo4jを実行して、REST APIを使用してアクセスできる場合、EmbeddedGraphDatabaseクラスを使用して同じneo4jインスタンスにアクセスできますか?
EmbeddedGraphDatabaseを使用するJavaアプリがロジックを駆動している本番環境のセットアップを考えていますが、他のクライアントが読み取り専用モードのRESTを使用してデータをナビゲートする場合があります。
サーバーモードでneo4jを実行して、REST APIを使用してアクセスできる場合、EmbeddedGraphDatabaseクラスを使用して同じneo4jインスタンスにアクセスできますか?
EmbeddedGraphDatabaseを使用するJavaアプリがロジックを駆動している本番環境のセットアップを考えていますが、他のクライアントが読み取り専用モードのRESTを使用してデータをナビゲートする場合があります。
あなたが説明しているのは、サーバープラグインまたは拡張機能です。そうすれば、REST API を介してデータベースを公開できますが、同時に、カスタム プラグイン/拡張コードから高パフォーマンスの埋め込みグラフ データベースにアクセスできます。
カスタム コードでは、操作対象の GraphDatabaseService を挿入できます。
カスタム拡張機能を jar として neo4j サーバーにデプロイし、クライアント コードをドメイン指向の RESTful API で動作させます。
// extension sample
@Path( "/helloworld" )
public class HelloWorldResource {
private final GraphDatabaseService database;
public HelloWorldResource( @Context GraphDatabaseService database) {
this.database = database;
}
@GET
@Produces( MediaType.TEXT_PLAIN )
@Path( "/{nodeId}" )
public Response hello( @PathParam( "nodeId" ) long nodeId ) {
// Do stuff with the database
return Response.status( Status.OK ).entity(
( "Hello World, nodeId=" + nodeId).getBytes() ).build();
}
}