Как настроить встроенный драйвер Neo4j, указанный в ogm.properties?

Моя программа на Java ищет ogm.properties в специфичном для приложения $DATA_DIR и загружает Configuration, который используется для создания SessionFactory. По умолчанию ogm.properties использует встроенный драйвер и URI файла, который указывает на подкаталог $DATA_DIR. Все идет нормально.

Идея состоит в том, что пользователь может предоставить свой собственный ogm.properties, использующий другой драйвер. Поэтому я не могу передать пользовательский GraphDatabaseService конструктору EmbeddedDriver, потому что сам его не конструирую.

Как передать встроенному драйверу параметры конфигурации? Я пробовал размещать neo4j.conf в разных местах под $DATA_DIR, но, похоже, он не распознавался.


person Kevin Krumwiede    schedule 26.09.2017    source источник


Ответы (1)


В Neo4j 3.1.6, который выйдет в конце 2018 года, вы сможете делать следующее:

In ogm.properties:

# Looks in the root of the classpath
neo4j.conf.location=neo4j.conf

# Explicitly in the classpath
# neo4j.conf.location=classpath:neo4j.conf

# Or as file URL
# neo4j.conf.location=file:///config/neo4j.conf

Или программно в конфигурации Java:

String neo4jConfLocation;

​// Choose one:
​// Looks in the root of the classpath
neo4jConfLocation = "neo4j.conf"

​// Explicitly in the classpath
​// neo4jConfLocation = "classpath:neo4j.conf"

​// Or as file URL
​// neo4jConfLocation = "file:///config/neo4j.conf"

Configuration configuration =
    new Configuration.Builder()
        .neo4jConfLocation(neo4jConfLocation)
        .build();

Чтобы передать файл конфигурации из файла или ресурса пути к классам во встроенный экземпляр.

person Michael Simons    schedule 28.11.2018