Do not disconnect from boot process if some live data received

This commit is contained in:
aboyko
2022-12-05 16:21:17 -05:00
parent 832cfc3a52
commit 213487cf44
3 changed files with 8 additions and 6 deletions

View File

@@ -289,7 +289,9 @@ public class SpringProcessConnectorService {
diagnosticService.diagnosticEvent(ShowMessageException
.error("Failed to refresh live data from process " + processKey + " after retries: " + retryNo, e));
disconnectProcess(processKey);
if (!connectedSuccess.containsKey(connector.getProcessKey())) {
disconnectProcess(processKey);
}
}
}
}

View File

@@ -241,7 +241,7 @@ public class SpringProcessLiveDataExtractorOverJMX {
LiveMemoryMetricsModel metrics = getLiveMetrics(connection, domain, "jvm.gc.pause", tags);
if(metrics != null) {
memoryMetricsList.add(getLiveMetrics(connection, domain, "jvm.gc.pause", tags));
memoryMetricsList.add(metrics);
}

View File

@@ -376,7 +376,7 @@ public class RewriteRecipeRepository implements ApplicationContextAware {
}).thenCompose(p -> {
if (p.isPresent()) {
try {
Optional<WorkspaceEdit> edit = apply(r, p.get());
Optional<WorkspaceEdit> edit = computeWorkspaceEdit(r, p.get(), progressToken);
return CompletableFuture.completedFuture(edit).thenCompose(we -> {
if (we.isPresent()) {
server.getProgressService().progressEvent(progressToken, "Applying document changes...");
@@ -404,9 +404,9 @@ public class RewriteRecipeRepository implements ApplicationContextAware {
});
}
private Optional<WorkspaceEdit> apply(Recipe r, IJavaProject project) {
private Optional<WorkspaceEdit> computeWorkspaceEdit(Recipe r, IJavaProject project, String progressToken) {
Path absoluteProjectDir = Paths.get(project.getLocationUri());
server.getProgressService().progressEvent(r.getName(), "Parsing files...");
server.getProgressService().progressEvent(progressToken, "Parsing files...");
MavenProjectParser projectParser = createRewriteMavenParser(absoluteProjectDir,
new InMemoryExecutionContext(), p -> {
TextDocument doc = server.getTextDocumentService().getLatestSnapshot(p.toUri().toString());
@@ -416,7 +416,7 @@ public class RewriteRecipeRepository implements ApplicationContextAware {
return null;
});
List<SourceFile> sources = projectParser.parse(absoluteProjectDir, getClasspathEntries(project));
server.getProgressService().progressEvent(r.getName(), "Computing changes...");
server.getProgressService().progressEvent(progressToken, "Computing changes...");
RecipeRun reciperun = r.run(sources, new InMemoryExecutionContext(e -> log.error("", e)));
List<Result> results = reciperun.getResults();
return ORDocUtils.createWorkspaceEdit(absoluteProjectDir, server.getTextDocumentService(), results);