From 1dcde6ea3d34b0ba28781c0f6ffa888a9de87651 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Tue, 16 Apr 2019 12:56:46 -0700 Subject: [PATCH] Server-side support for 'keepChecking' attribute... in remote spring boot apps. Note: this change is supposed to be paired with changes in boot dash code to transmit the setting as well. --- .../boot/ls/DelegatingStreamConnectionProvider.java | 10 +++++++++- .../boot/java/handlers/RemoteRunningAppsProvider.java | 5 ++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java index 42dc2682f..ba755affd 100644 --- a/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java +++ b/eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/DelegatingStreamConnectionProvider.java @@ -148,7 +148,10 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi private String host; private String urlScheme = "https"; private String port = "443"; - private boolean keepChecking = false; + private boolean keepChecking = true; + //keepChecking defaults to true. Boot dash automatic remote apps should override this explicitly. + //Reason. All other 'sources' of remote apps are 'manual' and we want them to default to + //'keepChecking' even if the user doesn't set this to true manually. public RemoteBootAppData(String jmxurl, String host) { super(); @@ -246,6 +249,11 @@ public class DelegatingStreamConnectionProvider implements StreamConnectionProvi app.setUrlScheme(urlScheme); } } + //keepChecking attribute added in STS 4.2.1 + if (list.size()>=5) { + String keepChecking = list.get(4); + app.setKeepChecking("true".equals(keepChecking)); + } return app; } throw new IllegalArgumentException("Invalid remote app data: "+incomingData); diff --git a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/RemoteRunningAppsProvider.java b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/RemoteRunningAppsProvider.java index 91425f4e2..f11c91a2c 100644 --- a/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/RemoteRunningAppsProvider.java +++ b/headless-services/spring-boot-language-server/src/main/java/org/springframework/ide/vscode/boot/java/handlers/RemoteRunningAppsProvider.java @@ -35,7 +35,10 @@ public class RemoteRunningAppsProvider implements RunningAppProvider { private String host; private String urlScheme = "https"; private String port = "443"; - private boolean keepChecking = false; + private boolean keepChecking = true; + //keepChecking defaults to true. Boot dash automatic remote apps should override this explicitly. + //Reason. All other 'sources' of remote apps are 'manual' and we want them to default to + //'keepChecking' even if the user doesn't set this to true manually. public String getJmxurl() { return jmxurl;