Внешняя конфигурация для Hibernate Search - PullRequest
0 голосов
/ 21 февраля 2019

Я запускаю поиск в спящем режиме с весенней загрузкой.Я написал рабочую конфигурацию для своего приложения.Как бы то ни было, я хочу использовать свою конфигурацию и использовать ./config/hibernate.properties вместо src/main/resources/hibernate.properties.После копирования файла моих свойств в нужное место я получаю исключение:

nested exception is java.io.FileNotFoundException: class path resource [hibernate.properties] cannot be opened because it does not exist

Кто-нибудь знает, как мне сказать Spring, чтобы он прочитал мой файл конфигурации?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

По какой-то причине кажется, что hibernate-поиск будет препятствовать запуску приложения, пока файл конфигурации hibernate.properties не существует.Пытаясь какое-то время безуспешно, я нашел способ обойти мою проблему.

  • Сначала я создал пустой файл hibernate.properties и поместил его в src/main/resources.
  • Во-вторых, я переместил все конфигурации hibernate-search в application.properties следующим образом:

    spring.jpa.properties.hibernate.search.default.indexmanager = elasticsearch spring.jpa.properties.hibernate.search.default.elasticsearch.host = http://my-server.com spring.jpa.properties.hibernate.search.default.elasticsearch.index_schema_management_strategy = CREATE spring.jpa.properties.hibernate.search.default.elasticsearch.required_index_status = yellow

ThisКстати, приложение запустится, и Spring получит всю конфигурацию из внешней конфигурации, как задокументировано здесь .

0 голосов
/ 21 февраля 2019

Переместите свою конфигурацию в файл src/main/resources/application.properties и добавьте к ней spring.jpa.properties. везде, например, hibernate.dialect станет, например, spring.jpa.properties.hibernate.dialect.

Затем вы можете использовать функции Spring для перемещения вашей конфигурации куда угоднохочу.Чтобы переместить его на ./config/application.properties Полагаю, вам придется добавить @PropertySource("./config/application.properties") к одному из @Configuration классов или к чему-то подобному.

Я уверен, что вы также можете сохранить конфигурацию гибернации в отдельномфайл (отдельный от остальной конфигурации вашего приложения).

См. https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html для получения дополнительной информации о внешнем конфигурировании в Spring Boot.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...