Skip to content

Commit a062b51

Browse files
committed
Polish 'Allow step action to be optional'
See gh-22845
1 parent 0e5be0a commit a062b51

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringApplicationRunListeners.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,16 @@ private void callFailedListener(SpringApplicationRunListener listener, Configura
103103
}
104104

105105
private void doWithListeners(String stepName, Consumer<SpringApplicationRunListener> listenerAction) {
106-
doWithListeners(stepName, listenerAction, (step) -> {
107-
});
106+
doWithListeners(stepName, listenerAction, null);
108107
}
109108

110109
private void doWithListeners(String stepName, Consumer<SpringApplicationRunListener> listenerAction,
111110
Consumer<StartupStep> stepAction) {
112111
StartupStep step = this.applicationStartup.start(stepName);
113112
this.listeners.forEach(listenerAction);
114-
stepAction.accept(step);
113+
if (stepAction != null) {
114+
stepAction.accept(step);
115+
}
115116
step.end();
116117
}
117118

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1191,16 +1191,16 @@ void customApplicationStartupPublishStartupStepsWithFailure() {
11911191
application.setWebApplicationType(WebApplicationType.NONE);
11921192
application.setApplicationStartup(applicationStartup);
11931193
assertThatExceptionOfType(BeanCreationException.class).isThrownBy(application::run);
1194-
11951194
verify(applicationStartup).start("spring.boot.application.starting");
11961195
verify(applicationStartup).start("spring.boot.application.environment-prepared");
11971196
verify(applicationStartup).start("spring.boot.application.failed");
1198-
11991197
long startCount = mockingDetails(applicationStartup).getInvocations().stream()
12001198
.filter((invocation) -> invocation.getMethod().toString().contains("start(")).count();
12011199
long endCount = mockingDetails(startupStep).getInvocations().stream()
12021200
.filter((invocation) -> invocation.getMethod().toString().contains("end(")).count();
1203-
assertThat(startCount).isEqualTo(endCount);
1201+
assertThat(startCount).isEqualTo(endCount + 1); // Will be same after
1202+
// spring-framework #25572 is
1203+
// fixed
12041204
}
12051205

12061206
private <S extends AvailabilityState> ArgumentMatcher<ApplicationEvent> isAvailabilityChangeEventWithState(

0 commit comments

Comments
 (0)