<jvm-arg>не добавлен в JVM в Resin 4, Windows Server 2012
Мы мигрируем из Linux (Ubuntu) в Windows Server 2012R2 (не спрашивайте!) И столкнулись с проблемой установки со Resin:
Установка Resin 4 Pro с использованием упакованного setup.exe
объект, resin.exe
создается как служба Windows просто отлично. Он запускается и может развертывать веб-приложения, настроенные как <host>
в resin.xml
, Но тогда у нас есть несколько приложений, которые зависят от переменных среды JVM. В Linux они были настроены в resin.xml
а также, например:
<jvm-arg>-Dsome.secret.domain=very.secret.com</jvm-arg>
но похоже, что они просто не добавляются в список аргументов JVM при запуске Resin как службы. Структура нашего файла конфигурации:
<cluster id="app-tier">
<server-multi ... />
<server-default>
<jvm-arg>
...
<host>
...
Насколько я понимаю, это правильно (и это соответствует нашей настройке Linux).
Попытка запустить Resin вручную, используя
java -jar resin.jar start
ничего не меняет (даже явно добавляя -conf resin.xml
с полным путем). Явное добавление аргументов JVM к этому утверждению работает, но, как ни странно, они дважды присутствуют в командной строке сторожевого режима JVM и четыре раза - в Resin JVM!
Любые идеи будут приветствоваться - я также обращаюсь к Каучо.
1 ответ
После многих изменений конфигурации и перезапуска получается, что порядок в конфигурации XML имеет большое значение.
Таким образом, перемещение <server-multi .../>
ниже <server-default>
В разделе решена проблема:
<cluster id="app-tier">
<server-default>
<jvm-arg>
...
<server-multi ... />
<host>
...
Это подтверждает Алексей Рожков из Каучо:
Да, порядок значительный. Конфигурация читается и выполняется за один проход. Alex
Ура,