Назад | Перейти на главную страницу

Альтернативный способ передачи переменной системы / среды в службу (glassfish)

У меня есть сервер приложений glassfish, который работает под пользователем glassfish в CentOS 7.2. У меня есть приложение с развернутым приложением, для которого требуется настраиваемая переменная среды (например, export App_Home=/opt/App).

Приложение считывает переменные среды в Java с помощью glassfish с System.getenv("App_Home").

Я смог заставить это работать, отредактировав службу.

vi /etc/systemd/system/glassfish.service

Добавление EnvironmentFile=/opt/MyApp/MyEnvironmentFile а затем в /opt/MyApp/MyEnvironmentFile добавлено App_Home=/opt/MyApp

  1. Есть ли способ установить эту переменную среды с помощью самой стеклянной рыбы?

  2. Или есть лучший способ установить переменные системных свойств вместо редактирования служебных файлов?

Я также попытался добавить экспорт в glassfish .bashrc (это оболочка, в которой, похоже, работает служба), но, похоже, это не было передано приложению.

по-видимому, в каталоге glassfish есть файл asenv.conf. Вы можете отредактировать это (файл среды).

Файлы bashrc используются для оболочек входа и, как вы уже убедились, бесполезны для служб.