Мы переходим с 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
Привет,