0

Neo4J データベース サーバーをスタンドアロンで (Ubuntu 14.04 上で) 実行している場合、グローバル インストール用の構成オプションがまたはで設定されます。etc/neo4j/neo4j.conf$NEO4J_HOME/conf/neo4j.conf

Neo4jGraphただし、Apache のクラス ( )を使用して Java または Scala から Neo4j データベースをインスタンス化する場合、org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraphグローバル インストールはなく、コンストラクターは (私の知る限り) 構成ファイルを探しません。

特に、自分のアプリケーションのテスト スイートを実行すると、多数の の同時インスタンスが発生し、最終的に がNeo4jGraphスローされます。これはjava.net.BindException: Address already in use、これらのインスタンスのすべてが、オンライン バックアップ用の狭い範囲のポートを介して通信しようとするためです。実際に必要です。これらのチャネルは、構成オプションdbms.backup.address(デフォルト値: 127.0.0.1:6362-6372) およびdbms.backup.enabled(デフォルト値: true) で設定されます。

私の問題は、に設定dbms.backup.enabledするfalseか、ポート範囲を拡大することで解決されます。

うまくいかなかったもの:

  • /etc/neo4j/neo4j.conf行を含む作成dbms.backup.enabled=false

  • プロジェクトのsrc/main/resourcesディレクトリに同じファイルを作成します。

  • で同じファイルを作成しますsrc/main/resources/neo4j

  • Scala コード内で構成プロパティを手動で設定する:

val db = new Neo4jGraph(dataDirectory) db.configuration.addProperty("dbms.backup.enabled",false)

  • また

db.configuration.addProperty("neo4j.conf.dbms.backup.enabled",false)

  • また

db.configuration.addProperty("gremlin.neo4j.conf.dbms.backup.enabled",false)

このプロパティを設定するにはどうすればよいですか?

4

3 に答える 3

0

Neo4jGraphTinkerPop を介した構成は、構成キーのパススルーによって実現されます。TinkerPop 3.x では、接頭辞が付いたすべての Neo4j キーが、オブジェクトをgremlin.neo4j.conf介して提供されるか、Neo4j インスタンスに直接渡されることを意味します。この例は、高可用性構成に関する TinkerPop のドキュメントで確認できますConfigurationNeo4jGraph.open()GraphFactory.open()

TinkerPop 2.x では、同じアプローチが取られましたが、キーのプレフィックスは代わりにここでblueprints.neo4j.conf.*説明したようになりました。

于 2016-08-01T10:05:07.347 に答える