JmxProbe.java 1.4 KB

12345678910111213141516171819202122232425262728293031
  1. import com.sun.tools.attach.VirtualMachine;
  2. import javax.management.MBeanServerConnection;
  3. import javax.management.ObjectName;
  4. import javax.management.remote.JMXConnector;
  5. import javax.management.remote.JMXConnectorFactory;
  6. import javax.management.remote.JMXServiceURL;
  7. public class JmxProbe {
  8. public static void main(String[] args) throws Exception {
  9. String pid = args[0];
  10. VirtualMachine vm = VirtualMachine.attach(pid);
  11. String addr = vm.startLocalManagementAgent();
  12. try (JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(addr))) {
  13. MBeanServerConnection conn = connector.getMBeanServerConnection();
  14. ObjectName env = new ObjectName("org.springframework.boot:type=Endpoint,name=Env");
  15. for (String key : new String[]{
  16. "forge.crypto.persistence.write-versioned",
  17. "forge.crypto.secret-key",
  18. "forge.crypto.enabled",
  19. "forge.crypto.persistence.enabled"}) {
  20. Object result = conn.invoke(env, "environmentEntry",
  21. new Object[]{key}, new String[]{String.class.getName()});
  22. System.out.println("=== " + key + " ===");
  23. System.out.println(String.valueOf(result));
  24. System.out.println();
  25. }
  26. } finally {
  27. vm.detach();
  28. }
  29. }
  30. }