我在广泛发布了这篇文章,然后在此发布。我一直在尝试找到一种在安装为Windows服务的Tomcat实例上启用JMX Access的方法。通过startup.bat脚本调用Tomcat时非常简单,只需将CATALINA_OPTS环境变量设置为“-Dcom.sun.management.jmxremote.port = 1234 -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false“
但是如何让Tomcat Windows服务阅读这些选项?我试过这个:
C:> Tomcat的\服务器\ BIN> service.bat install #install Tomcat7 windows服务
C:> Tomcat的\服务器\ BIN> tomcat7.exe // US // Tomcat7 ++ JvmOptions“-Djava.io.tmpdir = $ INSTDIR \ server \ temp; -XX:MaxPermSize =256米; -Dcom.sun.management.jmxremote.port = 8090; -Dcom.sun.management.jmxremote.au thenticate = false; -Dcom.sun.management.jmxremote.ssl = false“--JmMms 256 -JvmMx 1 024 使用// US开关#update已安装的服务;设置tmpdir,JMX访问和堆大小
当我从“服务”面板启动服务时,服务无法启动,我在logs \ tomcat7-stderr-yyyy-mm-dd.log文件中收到以下错误:
yyyy-mm-dd hh:mm:ss Commons Daemon procrun stderr已初始化 错误:com.sun.management.jmxremote.port号码无效:8090 -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false
我没有Java背景,我想在这里尝试一些古怪的东西吗?请指教。
答案 0 :(得分:26)
回答我自己的问题;结果比我想象的容易。
需要完成以下操作,为安装为Windows服务的Tomcat启用JMX访问,例如名称为“ApacheTomcatWindowsServer”:
service.bat install
或您的自定义脚本。
tomcat7w.exe //MS//ApacheTomcatWindowsServer
这应该在您的系统托盘上启动Apache Service Monitor程序。单击其图标。选择'Configure',单击'Java'选项卡并在'Java Options'文本框中附加以下内容,每行一个选项:
-Dcom.sun.management.jmxremote.port=8090
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
保存并退出并重新启动该服务。
jconsole
,单击“新建连接”,指定“远程进程”并输入hostname:8090
。 答案 1 :(得分:3)
您也可以通过
卸载服务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 =假
这是我文件中的示例StartPath
- StartPath“C:\ tomcat7 \” - 启动auto --JvmOptions“-Dcatalina.home =%CATALINA_HOME%; - Dcatalina.base =%CATALINA_BASE%; - Djava.endorsed.dirs =%CATALINA_HOME%\认可; -Djava.io.tmpdir =%CATALINA_BASE%\温度; -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager; -Djava.util.logging.config.file =%CATALINA_BASE%\ CONF \测井的.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以应用更改