web-dev-qa-db-ja.com

CATALINA_OPTSとJava_OPTS-違いは何ですか?

SO のApache Tomcat変数-CATALINA_OPTSJava_OPTSの違いを見つけようとしていて、ここに質問/回答がまだ投稿されていないことに驚きました。そこで、違いを見つけた後、ここで(答えを付けて)共有することを考えました。以下の回答/違いを確認してください。

注:この投稿の時点で、CentOS5 64ビットArchでApache Tomcat v6.0.10とJDK 6u32を実行しています。

101
Gnanam

CATALINA_OPTSJava_OPTSの2つの環境変数があり、どちらもTomcatのcatalina.sh起動およびシャットダウンスクリプトで使用されます。それらは、そのファイル内のコメントで次のように説明されています。

[Java_OPTS]:(オプション)「start」、「stop」、または「run」コマンドの実行時に使用されるJavaランタイムオプション

そして

[CATALINA_OPTS]:(オプション)Java実行時オプションは、「start」または「run」コマンドの実行時に使用されます

では、なぜ2つの異なる変数があるのですか?そして違いは何ですか?

まず、EITHER変数で指定されたものはすべて、Tomcatを起動するコマンド(「start」または「run」コマンド)に同じように渡されますが、Java_OPTSに設定された値のみが「stop」コマンドに渡されます。 Tomcatは、実行ではなく、実行の最後にのみ影響を与えるため、実際のTomcatの実行方法にはおそらく違いはありません。

2番目の違いはより微妙です。他のアプリケーションでもJava_OPTSを使用できますが、TomcatのみがCATALINA_OPTSを使用します。そのため、Tomcatのみが使用する環境変数を設定する場合は、CATALINA_OPTSを使用することをお勧めしますが、環境変数を他のJavaアプリケーションでも使用するように設定する場合は、 JBossにより、設定をJava_OPTSに配置する必要があります。

出典:CATALINA_OPTS v Java_OPTS-違いは何ですか?

148
Gnanam