Skonfigurowałem Apache Tomcat 8 przy użyciu tego samouczka https://tomcat.apache.org/tomcat-7.0-doc/monitoring.html i wygenerowałem certyfikat SSL.Klient Java JMX z SSL
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://10.16.70.161:9999/jmxrmi");
HashMap environment = new HashMap();
String[] credentials = new String[]
{
"user", "passw"
};
environment.put(JMXConnector.CREDENTIALS, credentials);
JMXConnector jmxc = JMXConnectorFactory.connect(url, environment);
MBeanServerConnection server = jmxc.getMBeanServerConnection();
Set<ObjectName> s2 = server.queryNames(new ObjectName("Catalina:type=Server,*"), null);
for (ObjectName obj : s2)
{
ObjectName objname = new ObjectName(obj.getCanonicalName());
System.out.println("serverInfo " + server.getAttribute(objname, "serverInfo"));
System.out.println("address " + server.getAttribute(objname, "address"));
System.out.println("stateName " + server.getAttribute(objname, "stateName"));
}
Jak mogę rozszerzyć tego klienta JMX, aby móc go używać z certyfikatem SSL? Nie mogę znaleźć żadnego dobrego przykładu w Internecie.
Dlaczego dodajesz SslRMIServerSocketFactory i SslRMIClientSocketFactory? Czy jest to obowiązkowe? –
Niestety, jest to konieczne tylko wtedy, gdy chcesz utworzyć serwer JMX. W tym przypadku wszystko, co musisz zrobić, to skonfigurować swój magazyn zaufania i przekazać go do klienta po uruchomieniu. – Val
Czy mogę w jakiś sposób użyć kodu Java do ustawienia lokalizacji i hasła trustStore bez pełnego niestandardowego klienta JMX? Zrobiłem nowy post tutaj http://stackoverflow.com/questions/34474023/replace-system-setproperty –