Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
I think that #5718 may take some time to be merged or may not be merged.
This problem can be solved more easily in Spring Boot. Spring Boot starts the application in the main method and terminates with JVM shutdown. By shutting down the default ClientFactory using SpringApplicationShutdownHook, the graceful shutdown can be supported without breaking changes for Spring integration, which is used by most users.
Modifications:
Use SpringApplicationShutdownHandlers to close the default ClientFactory for Spring integration.
Result:
In Spring integration, the default ClientFactory is now gracefully closed after the server is shut down.
Motivation:
I tried to add a graceful shutdown timeout to not immediately close the default
ClientFactory
. https://github.com/line/armeria/pull/5718#discussion_r1624232941 However, it is a breaking change and no agreement has been reached on the default behavior.I think that #5718 may take some time to be merged or may not be merged.
This problem can be solved more easily in Spring Boot. Spring Boot starts the application in the main method and terminates with JVM shutdown. By shutting down the default
ClientFactory
usingSpringApplicationShutdownHook
, the graceful shutdown can be supported without breaking changes for Spring integration, which is used by most users.Modifications:
SpringApplicationShutdownHandlers
to close the defaultClientFactory
for Spring integration.Result:
In Spring integration, the default
ClientFactory
is now gracefully closed after the server is shut down.