如何获取 SSLHostConfig?
How to get the SSLHostConfig?
我可以通过
获得父连接器
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
QueryExp qe = Query.match(Query.attr("port"), Query.value("443"));
ObjectName on = new ObjectName("*:type=Connector,*");
Set<ObjectName> objectNames = mbs.queryNames(on, qe);
我不想读 server.xml 以防它不同步。
如何获得 SSLHostConfig?
Connector
MBean 不包含有关 TLS 配置的信息。您需要在 type=ThreadPool
的 bean 上调用方法 findSslHostConfigs
。 ThreadPool
实际上是用词不当,因为这个 MBean 由每个 ProtocolHandler
.
导出
final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
final QueryExp qe = Query.eq(Query.attr("port"), Query.value(443));
final ObjectName on = new ObjectName("*:type=ThreadPool,*");
final Set<ObjectName> protocols = mbs.queryNames(on, qe);
for (final ObjectName protocol : protocols) {
SSLHostConfig[] configs = (SSLHostConfig[]) mbs.invoke(protocol, "findSslHostConfigs", null, null);
// do something with the SSLHostConfig
}
另外,SSLHostConfig
也可以作为 MBean 使用:它们具有 属性 type=SSLHostConfig
.
我可以通过
获得父连接器 MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
QueryExp qe = Query.match(Query.attr("port"), Query.value("443"));
ObjectName on = new ObjectName("*:type=Connector,*");
Set<ObjectName> objectNames = mbs.queryNames(on, qe);
我不想读 server.xml 以防它不同步。 如何获得 SSLHostConfig?
Connector
MBean 不包含有关 TLS 配置的信息。您需要在 type=ThreadPool
的 bean 上调用方法 findSslHostConfigs
。 ThreadPool
实际上是用词不当,因为这个 MBean 由每个 ProtocolHandler
.
final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
final QueryExp qe = Query.eq(Query.attr("port"), Query.value(443));
final ObjectName on = new ObjectName("*:type=ThreadPool,*");
final Set<ObjectName> protocols = mbs.queryNames(on, qe);
for (final ObjectName protocol : protocols) {
SSLHostConfig[] configs = (SSLHostConfig[]) mbs.invoke(protocol, "findSslHostConfigs", null, null);
// do something with the SSLHostConfig
}
另外,SSLHostConfig
也可以作为 MBean 使用:它们具有 属性 type=SSLHostConfig
.