使用JMXProxyServlet在Java程序中监视Tomcat

使用JMXProxyServlet在Java程序中监视Tomcat,java,tomcat,proxy,jmx,Java,Tomcat,Proxy,Jmx,我试图在Java程序中监视Tomcat,但我不知道如何将用户名和密码传递给JMXProxyServlet。有人知道怎么做吗?所以您的监控软件将用Java编写。您可以将manager webapp配置为使用HTTP基本身份验证和MemoryRealmDatabase(默认设置方式)。那么 使用manager jmx角色在tomcat users.xml中启用用户 使用常规web浏览器验证HTTP基本身份验证是否正常工作 将“授权”HTTP头与HTTP请求一起设置为JMXProxyServlet。

我试图在Java程序中监视Tomcat,但我不知道如何将用户名和密码传递给
JMXProxyServlet
。有人知道怎么做吗?

所以您的监控软件将用Java编写。您可以将manager webapp配置为使用HTTP基本身份验证和MemoryRealmDatabase(默认设置方式)。那么

  • 使用
    manager jmx
    角色在
    tomcat users.xml
    中启用用户
  • 使用常规web浏览器验证HTTP基本身份验证是否正常工作
  • 将“授权”HTTP头与HTTP请求一起设置为
    JMXProxyServlet
    。该标头的值应为
    base64(用户名+:“+密码)

各种HTTP帮助程序库(如)都有专门的方法来帮助您完成这项工作,或者您可以直接使用
HttpURLConnection

您是在尝试使用Java程序来监视Tomcat,还是在使用其他程序?我这样问是因为你提到了Java和
JMXProxyServlet
。如果有一个持久性Java程序正在运行以进行监视,那么您可能只想与Tomcat建立一个持久性JMX连接并使用它,而不是向
JMXProxyServlet
发出大量请求。我想定期使用JMXProxyServlet监视Tomcat,并自动化我想使用Java的过程。