web-dev-qa-db-ja.com

Windowsサービスとして実行されているTomcat7でJMXを有効にする方法は?

ここに投稿する前に、これを広範囲にグーグルで検索しました。 WindowsサービスとしてインストールされたTomcatインスタンスでJMXアクセスを有効にする方法を見つけようとしています。 Tomcatがstartup.batスクリプトを介して呼び出される場合、非常に簡単です。CATALINA_OPTS環境変数を「-Dcom.Sun.management.jmxremote.port = 1234 -Dcom.Sun.management.jmxremote.authenticate =」のように設定する必要があります。 false -Dcom.Sun.management.jmxremote.ssl = false "

しかし、TomcatWindowsサービスにこれらのオプションを読み取らせるにはどうすればよいですか?私はこれを試しました:

C:> Tomcat\server\bin> service.bat install#Tomcat7 Windowsサービスをインストールします

C:> Tomcat\server\bin> Tomcat7.exe // US // Tomcat7 ++ JvmOptions "-Djava.io.tmpdir = $ INSTDIR\server\temp; -XX:MaxPermSize = 256m; -Dcom。 Sun.management.jmxremote.port = 8090; -Dcom.Sun.management.jmxremote.au thenticate = false; -Dcom.Sun.management.jmxremote.ssl = false "--JvmMs 256 --JvmMx 1 024#// USスイッチを使用してインストール済みサービスを更新します。 tmpdir、JMXアクセス、およびヒープサイズを設定します

[サービス]パネルからサービスを開始すると、サービスの開始に失敗し、logs\Tomcat7-stderr-yyyy-mm-dd.logファイルに次のエラーが表示されます。

yyyy-mm-dd hh:mm:ss Commons Daemon procrun stderr initializeエラー:Invalid com.Sun.management.jmxremote.port number:8090 -Dcom.Sun.management.jmxremote.authenticate = false -Dcom.Sun.management.jmxremote .ssl = false

Javaの背景がありません。ここで何か風変わりなことを達成しようとしていますか?アドバイスしてください。

17
user1175135

私自身の質問に答えます。思ったより簡単でした。

たとえば、「ApacheTomcatWindowsServer」という名前のWindowsサービスとしてインストールされたTomcatのJMXアクセスを有効にするには、次のことを行う必要があります。

  • コマンドを使用して、TomcatをWindowsサービスとしてインストールします(最初に\ bin \に挿入)

service.bat install

またはカスタムスクリプト。

  • 次のコマンドを使用して、インストールされたサービスに対してApache ServiceManagerを有効にします。

Tomcat7w.exe //MS//ApacheTomcatWindowsServer

これにより、システムトレイでApache ServiceMonitorプログラムが起動します。そのアイコンをクリックします。 「構成」を選択し、「Java」タブをクリックして、「Javaオプション」テキストボックスに1行に1つのオプションを追加します。

-Dcom.Sun.management.jmxremote.port=8090

-Dcom.Sun.management.jmxremote.authenticate=false

-Dcom.Sun.management.jmxremote.ssl=false

サービスを保存して終了し、再起動します。

  • JMXコンソールに接続するには、JDKインストールからjconsoleを起動し、[新しい接続]をクリックして、[リモートプロセス]を指定し、hostname:8090と入力します。
26
user1175135

次の方法でサービスをアンインストールすることもできます

service.bat remove

次に、service.batを編集し、パラメータをStartPathに追加し、オプションを追加します

-Djavax.management.builder.initial =;-Dcom.Sun.management.jmxremote.port = 8090; -Dcom.Sun.management.jmxremote.authenticate = false; -Dcom.Sun.management.jmxremote.ssl = false

これが私のファイルのサンプルStartPathです

--StartPath "C:\ Tomcat7 \" --Startup auto --JvmOptions "-Dcatalina.home =%CATALINA_HOME%;-Dcatalina.base =%CATALINA_BASE%;-Djava.endorsed.dirs =%CATALINA_HOME%\ endorsed;- Djava.io.tmpdir =%CATALINA_BASE%\ temp; -Djava.util.logging.manager = org.Apache.juli.ClassLoaderLogManager; -Djava.util.logging.config.file =%CATALINA_BASE%\ conf\logging.properties; -Djava.rmi.server.hostname =;-Djavax.management.builder.initial =;-Dcom.Sun.management.jmxremote.port = 8090; -Dcom.Sun.management.jmxremote.authenticate = false; -Dcom.Sun .management.jmxremote.ssl = false "%Java_OPTS%^

によってサービスを再インストールします

service.bat install

次に、Tomcatを起動して変更を適用します

3
gigz