Я ввел переменную среды под названием mongo_switch: N(не mongo_switch: "N", без двойных кавычек вокруг N ) в локальном файле application.yml в Springboot 3.1.5. В программе я использую переменную, как показано ниже, и ожидаю, что логика достигнет пути № 1. Он отлично работает локально.
Код: Выделить всё
if(mongo_switch.equalsignorecase("N")){
do something Path #1
} else {
do other thing Path #2
}
Но после развертывания в Kubernetes я неожиданно обнаружил, что логика перешла на путь № 2, потому что значение mongo_switch неявно стало «ложным» (как строка). Поэтому я корректирую свой код ниже, чтобы исправить проблему.
Код: Выделить всё
if(mongo_switch.equalsignorecase("N") || mongo_switch.equalsingorecase("false")){
do something Path #1
} else {
do other thing Path #2
}
Несмотря на то, что проблема была решена, я все еще задаюсь вопросом: почему эта переменная среды (mongo_switch) ведет себя по-другому? то есть, почему его значение варьируется между локальным и kubernetes? Будем очень признательны за любой ответ.
Подробнее здесь:
https://stackoverflow.com/questions/787 ... uring-kube