Как настроить Wildfly для чтения переменных среды

При переносе приложения с сервера приложений Java GlassFish на Wildfly я заметил, что приложения в Wildfly сообщают о переменных среды как пустые, тогда как GlassFish сообщает о значении. Код приложения такой же; команда для получения переменной среды:

System.getenv("MY_ENV_VAR");

Я использую Linux и устанавливаю переменную среды в файле .bashrc пользователя, запускающего GlassFish и Wildfly. Я безуспешно пытался добавить переменную в файлы bin / standalone.conf, bin / standalone.sh и bin / .jbossclirc Wildfly.

Вот аналогичный вопрос без ответа на форуме JBoss:

https://developer.jboss.org/thread/229862

Примечание: переменная среды и системное свойство - это не одно и то же. Обойти эту проблему можно было бы в том, чтобы переписать все мои приложения, чтобы они использовали системные свойства вместо переменных среды, но я бы хотел избежать этого, если это возможно.

1
задан 4 September 2018 в 23:50
1 ответ

У меня все заработало, установив переменные среды в конфигурационном файле systemd, как описано здесь:

Как установить переменную среды в службе systemd?

Кажется, разница между GlassFish и Wildfly была на самом деле со служебными скриптами, поскольку GlassFish использовал более старый /etc/init.d, а Wildfly использовал более новый /etc/systemd.

0
ответ дан 4 December 2019 в 03:40

Теги

Похожие вопросы