From 1e9cb99c6426e7cc65ab081e2ae86c63eb0bde76 Mon Sep 17 00:00:00 2001 From: Martin Lippert Date: Mon, 7 Nov 2022 12:45:02 +0100 Subject: [PATCH] GH-862: expose all actuators via JMX for live hovers automatically when launching --- .../ide/eclipse/boot/dash/test/JmxSupportTest.java | 12 ++++++++---- .../eclipse/boot/launch/livebean/JmxBeanSupport.java | 9 ++++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash.test/src/org/springframework/ide/eclipse/boot/dash/test/JmxSupportTest.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash.test/src/org/springframework/ide/eclipse/boot/dash/test/JmxSupportTest.java index f2d2aac71..49d30a70f 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.dash.test/src/org/springframework/ide/eclipse/boot/dash/test/JmxSupportTest.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.dash.test/src/org/springframework/ide/eclipse/boot/dash/test/JmxSupportTest.java @@ -50,7 +50,8 @@ public class JmxSupportTest { + "-Dcom.sun.management.jmxremote.rmi.port=1234 " + "-Djava.rmi.server.hostname=localhost " + "-Dcom.sun.management.jmxremote.local.only=false " - + "-Dspring.jmx.enabled=true", + + "-Dspring.jmx.enabled=true" + + "-Dmanagement.endpoints.jmx.exposure.include=*", env.get("JAVA_OPTS")); jmx.setupEnvVars(env); // should erase old and recreate @@ -61,7 +62,8 @@ public class JmxSupportTest { + "-Dcom.sun.management.jmxremote.rmi.port=1234 " + "-Djava.rmi.server.hostname=localhost " + "-Dcom.sun.management.jmxremote.local.only=false " - + "-Dspring.jmx.enabled=true", + + "-Dspring.jmx.enabled=true" + + "-Dmanagement.endpoints.jmx.exposure.include=*", env.get("JAVA_OPTS")); } @@ -84,7 +86,8 @@ public class JmxSupportTest { + "-Dcom.sun.management.jmxremote.rmi.port=1234 " + "-Djava.rmi.server.hostname=localhost " + "-Dcom.sun.management.jmxremote.local.only=false " - + "-Dspring.jmx.enabled=true", + + "-Dspring.jmx.enabled=true" + + "-Dmanagement.endpoints.jmx.exposure.include=*", env.get("JAVA_OPTS")); jmx.setupEnvVars(env); // should erase old and recreate @@ -95,7 +98,8 @@ public class JmxSupportTest { + "-Dcom.sun.management.jmxremote.rmi.port=1234 " + "-Djava.rmi.server.hostname=localhost " + "-Dcom.sun.management.jmxremote.local.only=false " - + "-Dspring.jmx.enabled=true", + + "-Dspring.jmx.enabled=true" + + "-Dmanagement.endpoints.jmx.exposure.include=*", env.get("JAVA_OPTS")); } diff --git a/eclipse-extensions/org.springframework.ide.eclipse.boot.launch/src/org/springframework/ide/eclipse/boot/launch/livebean/JmxBeanSupport.java b/eclipse-extensions/org.springframework.ide.eclipse.boot.launch/src/org/springframework/ide/eclipse/boot/launch/livebean/JmxBeanSupport.java index b1465041f..50a17d4d8 100644 --- a/eclipse-extensions/org.springframework.ide.eclipse.boot.launch/src/org/springframework/ide/eclipse/boot/launch/livebean/JmxBeanSupport.java +++ b/eclipse-extensions/org.springframework.ide.eclipse.boot.launch/src/org/springframework/ide/eclipse/boot/launch/livebean/JmxBeanSupport.java @@ -66,10 +66,17 @@ public class JmxBeanSupport { "-Dcom.sun.management.jmxremote.authenticate=false", "-Dcom.sun.management.jmxremote.ssl=false", "-Djava.rmi.server.hostname=localhost", + // // PT 164402781 - For Boot 2.2 and above, jmx is no longer enabled by default. // We explicitly enable it here. Adding this doesn't seem to affect older boot versions // and we get live information from JMX for those too. - "-Dspring.jmx.enabled=true" + // + "-Dspring.jmx.enabled=true", + // + // GH-862: Spring Boot 3 doesn't expose all actuators over JMX anymore by default + // therefore we need to set this for live hovers here + // + "-Dmanagement.endpoints.jmx.exposure.include=*" }; }