Skip to content

Commit 0bcff38

Browse files
committed
Polishing
Closes gh-34372
1 parent 706ea2c commit 0bcff38

File tree

1 file changed

+12
-22
lines changed

1 file changed

+12
-22
lines changed

spring-context/src/main/java/org/springframework/context/support/DefaultLifecycleProcessor.java

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -714,14 +714,8 @@ public void checkpointRestore() {
714714
*/
715715
private class CracResourceAdapter implements org.crac.Resource {
716716

717-
private CyclicBarrier stepToRestore = new CyclicBarrier(2);
718-
private CyclicBarrier finishRestore = new CyclicBarrier(2);
719-
720-
private void preventShutdown() {
721-
waitBarrier(this.stepToRestore);
722-
// Checkpoint happens here
723-
waitBarrier(this.finishRestore);
724-
}
717+
private final CyclicBarrier beforeCheckpointBarrier = new CyclicBarrier(2);
718+
private final CyclicBarrier afterRestoreBarrier = new CyclicBarrier(2);
725719

726720
@Override
727721
public void beforeCheckpoint(org.crac.Context<? extends org.crac.Resource> context) {
@@ -733,39 +727,35 @@ public void beforeCheckpoint(org.crac.Context<? extends org.crac.Resource> conte
733727
stopForRestart();
734728
}
735729

730+
private void preventShutdown() {
731+
awaitBarrier(this.beforeCheckpointBarrier);
732+
// Checkpoint happens here
733+
awaitBarrier(this.afterRestoreBarrier);
734+
}
735+
736736
@Override
737737
public void afterRestore(org.crac.Context<? extends org.crac.Resource> context) {
738738
// Unlock barrier for beforeCheckpoint
739-
try {
740-
this.stepToRestore.await();
741-
}
742-
catch (Exception ex) {
743-
logger.trace("Exception from stepToRestore barrier", ex);
744-
}
739+
awaitBarrier(this.beforeCheckpointBarrier);
745740

746741
logger.info("Restarting Spring-managed lifecycle beans after JVM restore");
747742
restartAfterStop();
748743

749744
// Unlock barrier for afterRestore to shutdown "prevent-shutdown" thread
750-
try {
751-
this.finishRestore.await();
752-
}
753-
catch (Exception ex) {
754-
logger.trace("Exception from stepToRestore barrier", ex);
755-
}
745+
awaitBarrier(this.afterRestoreBarrier);
756746

757747
if (!checkpointOnRefresh) {
758748
logger.info("Spring-managed lifecycle restart completed (restored JVM running for " +
759749
CRaCMXBean.getCRaCMXBean().getUptimeSinceRestore() + " ms)");
760750
}
761751
}
762752

763-
private void waitBarrier(CyclicBarrier barrier) {
753+
private void awaitBarrier(CyclicBarrier barrier) {
764754
try {
765755
barrier.await();
766756
}
767757
catch (Exception ex) {
768-
logger.trace("Exception from prevent-shutdown barrier", ex);
758+
logger.trace("Exception from barrier", ex);
769759
}
770760
}
771761
}

0 commit comments

Comments
 (0)