Micronaut PropertySource для нескольких файлов конфигурации - PullRequest
1 голос
/ 29 марта 2019

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

Эта информация должна быть загружена с помощью аннотации @ Property , но так как будет более одного .yml (также будет хотя бы application.yml), вы хотите иметь возможность указать путь к файлу @Properties, чтобы можно было различить, где искать свойство.

Так как это мой первый проект для микронавтов, я немного запутался с этим, но на примере Springboot я хочу сделать что-то вроде:

@PropertySource("classpath:configprops.properties")

Но после чтения микронавтовдокументация (https://docs.micronaut.io/latest/guide/index.html#configurationProperties) Я обнаружил, что не могу этого сделать (кроме как что-то вроде простого чтения простого файла, который, я думаю, не будет совместимым с микронавигацией)

1 Ответ

0 голосов
/ 04 апреля 2019

Я делаю это, передавая аргументы jvm.

Например, если я запускаю его на своей локальной машине, используя gradle: run , я добавляю следующее в build.grade

run.jvmArgs('-Dmicronaut.environments=dev', "-Dmicronaut.config.files=${System.getProperty("user.home")}/auth-config.groovy")

Для моего развертывания jar я создал файл deploy.sh следующим образом:

#!/bin/bash

fuser -k 8181/tcp

nohup java -Xmx512m -Dmicronaut.environments=staging -Dmicronaut.config.files=<path-to-config>/config.groovy -jar application-0.1-all.jar > application.log 2>&1 &

Также обратите внимание, что я передаю разные имена среды, это поможет вамчтобы включить конфигурацию среды разработки непосредственно в код, если хотите.

Мне нравится

  • application- [имя-среды] .groovy
  • application- [имя-среды] .yml
  • application- [environment_name] .properties

Это поможет новым участникам вашего проекта ускорить настройку процесса проекта, как правило, я также включаю примечание в мой application-dev.groovy файл

DEVELOPER NOTE:
***** DO NOT COMMIT ANY CHANGE IN THIS FILE IF YOU MAKE ANY
*******************************************************
***** CREATE <config.groovy> file in your <HOME> folder and copy paste content of this file
***** Override properties as required
*******************************************************
...