[英]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 &
另请注意,我传递了不同的环境名称,这有助于您根据需要直接在代码中包含开发环境配置。
喜欢
这将帮助您项目的新贡献者加快项目设置的进程,我通常还在我的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.