繁体   English   中英

多个配置文件的 Micronaut PropertySource

[英]Micronaut PropertySource for multiple configuration files

我有一个 micronaut 项目,我想在其中为私有数据(如数据库连接等)提供一个未版本化的配置文件

此信息必须通过@Property批注加载,但由于将有多个 .yml(至少还有一个 application.yml),因此您希望能够提供指向 @Properties 的文件路径以便能够区分在哪里寻找财产。

由于这是我的第一个 micronaut 项目,我对这些东西有点迷茫,但以 springboot 为例,我想做的是:

@PropertySource("classpath:configprops.properties")

但是在阅读了 micronaut 文档( https://docs.micronaut.io/latest/guide/index.html#configurationProperties )后,我发现自己无法做到这一点(除了像阅读我认为不会是 micronaut 的普通文件一样)合规)

我通过传递 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 &

另请注意,我传递了不同的环境名称,这有助于您根据需要直接在代码中包含开发环境配置。

喜欢

  • 应用程序-[environment_name].groovy
  • 应用程序-[environment_name].yml
  • 应用程序-[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
*******************************************************

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM