Параметр приложения службы приложений Azure для Windows не оценивается в других переменных параметра приложения

Я развернул веб-приложение Java в Tomcat 9 с помощью службы приложений Linux Azure. В рамках этого развертывания я создал различные переменные настроек приложения для настройки информации, необходимой для подключения к БД, следующим образом:

BD_URL          = jdbc:oracle:thin:@xxxxx:xxxx
USER            = myuser
PASSWORD        = password
CATALINA_OPTS   =  -Dapp.ds.url=${BD_URL}  -Dapp.ds.url=${USER} -Dapp.ds.password=${PASSWORD}

Это работает отлично, и при запуске tomcat все заполнители настроек приложения в CATALINA_OPTS заменяются правильно, и приложение получает все правильные значения для URL, пользователя и пароля.

Недавно я получил новое требование, указывающее, что я должен использовать службы приложений Windows. После настройки тех же значений параметров приложения я заметил, что приложение не может подключиться к БД, проверив журналы, я заметил, что вместо получения jdbc:oracle:thin:@xxxxx:xxxx для URL-адреса было передано ${BD_URL}. В основном переменные в CATALINA_OPTS не заменяются.

Поскольку это служба приложений Windows, я пробовал разные способы, например: -Dapp.ds.url=%URL% или -Dapp.ds.url=$URL, но, похоже, ничего не работает, в документации Azure указано, что синтаксис ${VARIABLE_NAME} должен работать.

Я получаю доступ к веб-консоли Kudo и вижу, что переменные среды также устанавливаются.

Кто-нибудь сталкивался с этой проблемой? Любые идеи?


person Jorge Marmolejo    schedule 09.02.2021    source источник