Я развернул веб-приложение 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 и вижу, что переменные среды также устанавливаются.
Кто-нибудь сталкивался с этой проблемой? Любые идеи?