java - 如何将属性源分配给 micronaut 中的某个环境?
问题描述
我像这样通过我的 Application 类添加属性值
public class Application {
@Loggable
public static void main(String[] args) {
SecretManager secretManager = new SecretManager();
Micronaut.build(null)
.mainClass(Application.class)
.propertySources(PropertySource.of(
"name",
mapOf(
"datasources.default.username", secretManager.getValue(
"DATASOURCES_DEFAULT_USERNAME")
))).start();
}
}
我希望能够通过执行类似的操作根据环境更改 datasources.default.username 的值。以下代码不起作用,但有没有办法做这样的事情?
public class Application {
@Loggable
public static void main(String[] args) {
SecretManager secretManager = new SecretManager();
if(environment == "Dev") {
Micronaut.build(null)
.mainClass(Application.class)
.propertySources(PropertySource.of(
"name",
mapOf(
"datasources.default.username", secretManager.getValue(
"DATASOURCES_DEFAULT_USERNAME")
))).start();
} else {
Micronaut.build(null)
.mainClass(Application.class)
.propertySources(PropertySource.of(
"name",
mapOf(
"datasources.default.username", secretManager.getValue(
"DATASOURCES_CUSTOM_USERNAME")
))).start();
}
}
}
有没有办法做到这一点?
解决方案
您可以创建一个application-dev.yml
从 env var 分配属性的
datasources.default.username: ${SOME_ENV}
例如
推荐阅读
- apache - Apache使用代理将规则重写为外部地址
- python - randomSplit pyspark 更改数据帧的值
- c++ - 如何在 Ubuntu 18.04 上启动使用网络摄像头两次的相同 opencv C++ 程序?
- javascript - 功能设置不正确
- c# - 带有枚举的 C# NSwag 和 swagger-codegen
- swift - 如何在不重新加载控制器的情况下更新用户在线状态?
- c# - 修复大型项目的绑定重定向
- javascript - Selenium 无法在带有切换框架的 IE 中找到元素
- r - 在 R Markdown PDF 输出中更改绘图图表大小的输出宽度
- javascript - javascript location.href 从一个视图重定向到另一个视图