CATALINA_OPTS vs JAVA_OPTS - В чем разница?

Я пытался выяснить разницу между переменными Apache Tomcat - CATALINA_OPTS и JAVA_OPTS в /qaru.site/... и удивился, увидев, что там здесь нет вопросов/ответов. Поэтому я подумал о том, чтобы поделиться им здесь (с ответом), узнав разницу. Проверьте ответ/разницу ниже.

ПРИМЕЧАНИЕ.. Во время этой публикации мы запускаем Apache Tomcat v6.0.10 с JDK 6u32 на 64-разрядной арке CentOS5.

Ответ 1

Существуют две переменные среды - CATALINA_OPTS и JAVA_OPTS - которые используются в запуске и отключении Catalina.sh script для Tomcat. Они описаны в комментариях в этом файле как:

[JAVA_OPTS]: (необязательно) Параметры времени исполнения Java, используемые при запуске "start" , "stop" или "run" , команда выполнена

и

[CATALINA_OPTS]: (необязательно) Параметры времени выполнения Java используется, когда выполняется команда "start" или "run"

Итак, почему существуют две разные переменные? И какая разница?

Во-первых, все, что указано в переменной EITHER, передается тождественно команде, которая запускает Tomcat - команду "start" или "run" , но только значения, установленные в JAVA_OPTS, передаются команде "stop". Это, вероятно, не имеет никакого отношения к тому, как Tomcat работает на практике, поскольку он влияет только на конец прогона, а не на начало.

Второе различие более тонкое. Другие приложения также могут использовать JAVA_OPTS, но только Tomcat будет использовать CATALINA_OPTS. Поэтому, если вы устанавливаете переменные среды для использования только Tomcat, вам лучше всего будет использовать CATALINA_OPTS, тогда как если вы задаете переменные среды, которые будут использоваться и другими приложениями Java, например JBoss, вам следует поставить ваши настройки в JAVA_OPTS.

Источник: CATALINA_OPTS v JAVA_OPTS - В чем разница?