我们在tomcat的server.xml中有连接器,如下所示:

< Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxConnections="500" maxThreads="150"/>

就我而言,我想这些连接器会在启动tomcat时作为对象加载。

那么我们是否可以在我的Java Web应用程序中获取诸如port,maxConnections,connectionTimeout之类的属性,该Java Web应用程序使用任何库在该tomcat中作为对象运行?

如果我在这里有一些火花,那就太好了。

最佳答案

您可以通过MBeanServer获取服务器及其配置。


  接口MBeanServer:这是在代理端进行MBean操作的接口。它包含创建,注册和删除MBean所必需的方法,以及已注册MBean的访问方法。这是JMX基础结构的核心组件。


您可以使用以下代码:

MBeanServer mBeanServer = MBeanServerFactory.findMBeanServer(null).get(0);
ObjectName name = new ObjectName("Catalina", "type", "Server");
Server server = (Server) mBeanServer.getAttribute(name, "managedResource");
int port = server.getPort();

10-07 22:47