Значение свойства условного пружинного элемента Spring - PullRequest
0 голосов
/ 27 мая 2019

Вот так выглядит одна строка моего .yaml файла свойств:

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

Я хочу поставить приведенную ниже логику только для свойства rabbit-:

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

Другие свойства должны быть заполнены local, но только в этом месте значение свойства должно быть заполнено условно. Можно ли как-то добавить эту логику в свойствах Spring yaml?

1 Ответ

1 голос
/ 27 мая 2019

Это не выглядит красиво, но вы можете использовать что-то вроде:

 #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}}
...