Polishing
This commit is contained in:
parent
33af98b6d6
commit
a506238ef6
|
@ -15,8 +15,7 @@ Conceptually, checkpoint and restore align with the xref:core/beans/factory-natu
|
|||
|
||||
== On-demand checkpoint/restore of a running application
|
||||
|
||||
A checkpoint can be created on demand, for example using a command like `jcmd application.jar JDK.checkpoint`. Before the creation of the checkpoint, Spring Framework
|
||||
stops all the running beans, giving them a chance to close resources if needed by implementing `Lifecycle.stop`. After restore, the same beans are restarted, with `Lifecycle.start` allowing beans to reopen resources when relevant. For libraries that do not depend on Spring, custom checkpoint/restore integration can be provided by implementing `org.crac.Resource` and registering the related instance.
|
||||
A checkpoint can be created on demand, for example using a command like `jcmd application.jar JDK.checkpoint`. Before the creation of the checkpoint, Spring stops all the running beans, giving them a chance to close resources if needed by implementing `Lifecycle.stop`. After restore, the same beans are restarted, with `Lifecycle.start` allowing beans to reopen resources when relevant. For libraries that do not depend on Spring, custom checkpoint/restore integration can be provided by implementing `org.crac.Resource` and registering the related instance.
|
||||
|
||||
WARNING: Leveraging checkpoint/restore of a running application typically requires additional lifecycle management to gracefully stop and start using resources like files or sockets and stop active threads.
|
||||
|
||||
|
@ -29,8 +28,8 @@ startup during the `LifecycleProcessor.onRefresh` phase. After this phase has co
|
|||
`InitializingBean#afterPropertiesSet` callbacks have been invoked; but the lifecycle has not started, and the
|
||||
`ContextRefreshedEvent` has not yet been published.
|
||||
|
||||
For testing purpose, it is also possible to leverage the `-Dspring.context.exit=onRefresh` JVM system property which
|
||||
triggers a similar behavior, but instead of creating a checkpoint, it exits your Spring application at the same lifecycle
|
||||
For testing purposes, it is also possible to leverage the `-Dspring.context.exit=onRefresh` JVM system property which
|
||||
triggers similar behavior, but instead of creating a checkpoint, it exits your Spring application at the same lifecycle
|
||||
phase without requiring the Project CraC dependency/JVM or Linux. This can be useful to check if connections to remote
|
||||
services are required when the beans are not started, and potentially refine the configuration to avoid that.
|
||||
|
||||
|
|
Loading…
Reference in New Issue