gpt4 book ai didi

java - 用于多个配置文件的 Micronaut PropertySource

转载 作者:行者123 更新时间:2023-11-30 05:42:21 29 4
gpt4 key购买 nike

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

此信息必须通过@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 &

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

喜欢

  • 应用程序-[环境名称].groovy
  • 应用程序-[环境名称].yml
  • 应用程序-[环境名称].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
*******************************************************

关于java - 用于多个配置文件的 Micronaut PropertySource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55423735/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com