Как передать системное свойство веб-приложению, размещенному в Tomcat 7, работающем как служба Windows? - PullRequest
4 голосов
/ 23 декабря 2011

В Интернете есть множество мест, где можно предположить, что это легко сделать любым (или всеми) из следующих способов:

  1. - CATALINA_OPTS
  2. - * 1007От *
  3. до TOMCAT_OPTS
  4. , поместив операторы set в файл setenv.bat внутри папки bin кота

Моя проблема заключается в том, что я пробовал все вышеперечисленное, и мое веб-приложение все еще не видит моего системного свойства!

Вот что я делаю:

  1. Остановка службы tomcat7
  2. установить CATALINA_OPTS=-Dabc.def=true в системной среде
  3. установить JAVA_OPTS=-Dabc.def=true в системной среде
  4. установить TOMCAT_OPTS=-Dabc.def=true в системной среде
  5. поставить всевыше в c: \ Program Files \ Apache Software Foundation \ Tomcat 7.0 \ bin \ setenv.bat (кажется, полностью избыточным, но на всякий случай)
  6. Запустить службу tomcat7
  7. Проверьте среду процесса tomcat7 с помощью инструмента Process Explorer - среда правильнаяЯ вижу, что CATALINA_OPTS и JAVA_OPTS и TOMCAT_OPTS равны -Dabc.def=true
  8. Запускаю мое веб-приложение, которое представляет собой простой сервлет, сбрасывающий все системные свойства в поток ответов - abc.def среди них нет

Пожалуйста, избавь меня от страданий и скажи, как это сделать.

1 Ответ

10 голосов
/ 23 декабря 2011

Для службы Tomcat параметры запуска хранятся в реестре под ключом Options по адресу:

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat<X>\Parameters\Java

(при необходимости замените соответствующую версию Tomcat).

Edit:

В 64-разрядной версии Windows раздел реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat<X>\Parameters\Java

, даже если Tomcat работает под 64-битной JVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...