./app-bootstrap/src/test/java/dev/caskeleton/bootstrap/async/AsyncGracefulShutdownBehaviorTest.java:42: * + a propagator and exercises the identical {@code SmartLifecycle}/{@code DisposableBean} ./app-bootstrap/src/test/java/dev/caskeleton/bootstrap/runtime/startup/MigrationStartupRunnerTest.java:26:import org.springframework.context.SmartLifecycle; ./app-bootstrap/src/test/java/dev/caskeleton/bootstrap/runtime/startup/MigrationStartupRunnerTest.java:53: .isNotInstanceOf(SmartLifecycle.class) ./messaging/messaging-spring-boot-starter/src/main/java/dev/caskeleton/messaging/autoconfigure/MessagingOutboxRelayLifecycle.java:6:import org.springframework.context.SmartLifecycle; ./messaging/messaging-spring-boot-starter/src/main/java/dev/caskeleton/messaging/autoconfigure/MessagingOutboxRelayLifecycle.java:23:public final class MessagingOutboxRelayLifecycle implements SmartLifecycle { ./messaging/messaging-spring-boot-starter/src/main/java/dev/caskeleton/messaging/autoconfigure/MessagingOutboxRelayLifecycle.java:58: *

{@code SmartLifecycle} stops in descending phase order, so the highest phase stops first. ./messaging/messaging-spring-boot-starter/src/main/java/dev/caskeleton/messaging/autoconfigure/MessagingShutdownLifecycle.java:10:import org.springframework.context.SmartLifecycle; ./messaging/messaging-spring-boot-starter/src/main/java/dev/caskeleton/messaging/autoconfigure/MessagingShutdownLifecycle.java:30:public final class MessagingShutdownLifecycle implements SmartLifecycle { ./messaging/messaging-spring-boot-starter/src/main/java/dev/caskeleton/messaging/autoconfigure/MessagingShutdownLifecycle.java:112: *

{@code SmartLifecycle} stops in descending phase order. A phase above the default puts this ./adapter/inbound/websocket/src/main/java/dev/caskeleton/adapter/inbound/websocket/servlet/PlatformWebSocketHandler.java:37: implements org.springframework.context.SmartLifecycle { ./adapter/inbound/grpc/src/test/java/dev/caskeleton/adapter/inbound/grpc/GrpcServerRunnerBootTest.java:27: * the {@link GrpcServerRunner} SmartLifecycle starts, the standard {@code grpc.health.v1} health ./adapter/inbound/grpc/src/main/java/dev/caskeleton/adapter/inbound/grpc/GrpcServerRunner.java:19:import org.springframework.context.SmartLifecycle; ./adapter/inbound/grpc/src/main/java/dev/caskeleton/adapter/inbound/grpc/GrpcServerRunner.java:22: * Owns the io.grpc Netty {@link Server} lifecycle as a Spring {@link SmartLifecycle} bean — start ./adapter/inbound/grpc/src/main/java/dev/caskeleton/adapter/inbound/grpc/GrpcServerRunner.java:31:public class GrpcServerRunner implements SmartLifecycle {