Переменная окружения не обнаружена Tomcat 7 в OpenShift

Я запускаю приложение JSF на картридже JBoss EWS 2.0 в OpenShift, и пришло время настроить приложение на работу в производственном режиме. Чтобы приложение было максимально переносимым, я бы хотел сделать это, установив faces.PROJECT_STAGE переменная окружения.

Сначала я попробовал использовать rhc set-env ... или же rhc env set ... но ему не понравилась "точка" в имени переменной. Итак, я создал эту переменную среды:

rhc env set facesPROJECT_STAGE=Production -a myapp

а затем SSH'ed в мою учетную запись OpenShift, чтобы изменить файл facesPROJECT_STAGE в .env/user_vars в facesPROJECT_STAGE, Бег rhc env list -a myapp затем показывает мне:

faces.PROJECT_STAGE=Production

Однако, когда я перезапускаю свое приложение, оно не поднимает faces.PROJECT_STAGE переменная окружения. Делать rhc app reload -a myapp тоже не помогает Если это имеет какое-то значение, мое приложение в настоящее время не масштабируется автоматически.

1 ответ

Решение

Вы должны использовать системные свойства вместо переменных среды. Установить JAVA_OPTS_EXT переменная среды для -Dfaces.PROJECT_STAGE=Production -a myapp как это:

export JAVA_OPTS_EXT=-Dfaces.PROJECT_STAGE=Production

... и тебе надо идти. (Возможно, вам придется сделать что-то еще, чтобы сохранить это значение на все время для вашего процесса - и процессов, запущенных в будущем).

Другие вопросы по тегам