繁体   English   中英

Spring条件Yaml属性值

[英]Spring conditional yaml property value

这就是我的.yaml属性文件中的一行的样子:

profiles.active: rabbit-${CLUSTER_ENV}, mongo-${CLUSTER_ENV} ...

我只想将以下逻辑用于rabbit-属性:

if(CLUSTER_ENV == "local") {
   return "dev";
} else {
   return CLUSTER_ENV;
}

其他属性应使用local填充,但仅在该位置应有条件地填充属性值。 我可以以某种方式在Spring Yaml属性中添加此逻辑吗?

它看起来不漂亮,但是您可以使用类似以下的内容:

 #this can be added on startup
mykey: key1

#a map with your condition
mymap:
  key1: val1
  key2: val2

#your value based on the condition
conditional: con-${mymap.${mykey}}

问候,WiPU

根据评论更新:

 #this can be added on startup as variable
mykey: local

#a map with your condition
mymap:
  local: dev
  xyz: test

# your value based on the condition or the key as fallback if the key is not 
# present in mymap.
conditional: con-${mymap.${mykey}:${mykey}}

暂无
暂无

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

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