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

<jvm-arg>не добавляется в JVM на Resin 4, Windows Server 2012</jvm-arg>

Мы переходим с 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 как услуги. Структура нашего файла conf:

<cluster id="app-tier">
    <server-multi ... />
    <server-default>
        <jvm-arg>
        ...

    <host>
    ...

Насколько я понимаю, это правильно (и это соответствует нашей настройке Linux).

Попытка запустить Resin вручную с помощью

java -jar resin.jar start

ничего не меняет (даже явно добавляя -conf resin.xml с полным путем). Явное добавление аргументов JVM в этот оператор работает, но - к счастью - они затем присутствуют дважды в командной строке процесса JVM сторожевого таймера и четыре раза в JVM Resin!

Любые идеи приветствуются - я, конечно же, обращаюсь к Кошо.

После многих изменений конфигурации и перезапусков выясняется, что заказ в конфигурации XML важно.

Таким образом перемещая <server-multi .../> ниже <server-default> раздел решил проблему:

<cluster id="app-tier">
    <server-default>
        <jvm-arg>
        ...

    <server-multi ... />

    <host>
    ...

Это подтверждает Алексей Ройков из Caucho:

Да, порядок важен. Конфигурация считывается и выполняется за один проход. Alex

Привет,