Supervisord настроил переменную окружения в Java-процессе

Мой процесс Java принимает переменную env "config". Это работает, когда я снимаю процесс из командной строки с помощью "java -Dconfig=... ..."

Теперь я настроил Supervisord и добавил программы. Я также добавил запись ниже под тегом supervisor в файле conf

environment=KEY="value",config="my path"

Я думаю, что это значение должно быть распространено на все дочерние процессы, поэтому мой дочерний процесс Java должен иметь доступ к нему с помощью System.getProperty(). Но он не получает никакой переменной env с именем "config".

Любая помощь:)

1 ответ

Решение

environment Параметр конфигурации Supervisord предназначен для переменных среды операционной системы (Linux). Параметры, переданные с помощью -Dс другой стороны, это варианты JVM. Правильный путь - передать параметры JVM в command,

command=java -Dconfig=... 

Не забывайте кавычки, если аргумент команды содержит пробелы. Смотрите http://supervisord.org/configuration.html

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