<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

Ура,

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