From ae5475d35174d04cd4520f4b9e73aafde1a07bac Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Thu, 5 Jan 2023 16:24:45 +0100 Subject: [PATCH] GH-87 - Make sure actuator endpoint outputs modules in topological order. More fundamental modules are now rendered first as we use a LinkedHashMap as primary data structure. --- .../modulith/actuator/ApplicationModulesEndpoint.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/ApplicationModulesEndpoint.java b/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/ApplicationModulesEndpoint.java index 4d927c64..f62e1c42 100644 --- a/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/ApplicationModulesEndpoint.java +++ b/spring-modulith-actuator/src/main/java/org/springframework/modulith/actuator/ApplicationModulesEndpoint.java @@ -19,6 +19,7 @@ import static java.util.stream.Collectors.*; import lombok.extern.slf4j.Slf4j; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -84,7 +85,8 @@ public class ApplicationModulesEndpoint { var modules = runtime.get(); return modules.stream() - .collect(Collectors.toMap(ApplicationModule::getName, it -> toInfo(it, modules))); + .collect( + Collectors.toMap(ApplicationModule::getName, it -> toInfo(it, modules), (l, r) -> r, LinkedHashMap::new)); } private static Map toInfo(ApplicationModule module, ApplicationModules modules) {