On 06/12/17 18:32, Jesse Schulman wrote: > For some reason there are no Catalina names from that MBean server: > > Registry.getRegistry(null, null).getMBeanServer().getDomains() > > yields > > JMImplementation, java.util.logging, java.lang, Tomcat, com.sun.management, > null, java.nio > > and > > Registry.getRegistry(null, null).getMBeanServer().queryMBeans(new > ObjectName("Catalina:*"), null) > > yields an empty set > > Maybe there is something I need to do to enable JMX for the Catalina > domain? I didn't do anything to enable it for Tomcat but that domain seems > to show up already.
The engine name is used as the MBean domain. For embedded, the engine name is "Tomcat" rather than "Catalina" so you'll want modify the MBean appropriately. > Also, if I can get access to the Endpoint MBean will I be able to get > access to the Endpoint instance to call those two new public methods to > pass my SSLHostConfig to the add method? No. You call the operations on the MBean and it takes care of the rest. Mark > > Thanks! > Jesse > > > On Wed, Dec 6, 2017 at 1:41 AM Mark Thomas <ma...@apache.org> wrote: > >> On 06/12/17 00:17, Jesse Schulman wrote: >>> Now that 8.5.24 is released with new support for runtime >> SNI/SSLHostConfig >>> changes (thank you Mark!) I am trying to access the AbstractEndpoint from >>> our application to call these 2 new methods: >>> >>> public void addSslHostConfig(SSLHostConfig sslHostConfig, boolean >>> replace) >>> >>> public SSLHostConfig removeSslHostConfig(String hostName) >>> >>> We have an instance of the Tomcat class from which we can do >>> getConnector(), and that Connector can provide us with the >>> ProtocolHandler. With ProtocolHandler we could safely cast to >>> AbstractProtocol but from there the getEndpoint method is protected. >>> >>> Is there a supported way to access the AbstractEndpoint via public >> methods >>> if I only have the Tomcat/Connector instances available? >>> >>> Or maybe this is possible to do with JMX? If so I would need access to >> the >>> AbstractEndpoint directly so I can pass it my SSLHostConfig objects. >> >> The MBean for an Endpoint has a name that looks like this: >> >> Catalina:type=ThreadPool,name="http-nio-8080" >> >> The name part is the same as that shown in the logs. So if you see this: >> >> 06-Dec-2017 09:39:36.986 INFO [main] >> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler >> ["https-jsse-nio-8443"] >> >> then the MBean name will be: >> >> Catalina:type=ThreadPool,name="https-jsse-nio-8443" >> >> The MBean server should be obtainable with: >> Registry.getRegistry(null, null).getMBeanServer(); >> >> Mark >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> >> > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org