Rahul Kumar (@rahul)
Whether you're an experienced Spring Boot developer or just starting your journey, this guide provides valuable knowledge and hands-on examples to help you navigate the technical debt of application reliability and the art of graceful shutdowns in Spring Boot.
I am assuming that you already know Java & Spring Boot
Graceful shutdown refers to the process of stopping a software application or service in a way that allows it to complete its ongoing tasks and operations before shutting down. This approach ensures that the application finishes any pending processes, handles ongoing transactions, and releases resources properly, finished logging.
The PreDestroy
annotation is used on methods as a callback notification to signal that the instance is in the process of being removed by the container. The method annotated with PreDestroy is typically used to release resources that it has been holding.
You can check the rules for using this annotation here
package com.dsabyte;
import jakarta.annotation.PreDestroy;
import org.springframework.stereotype.Service;
import java.time.Instant;
@Service
public class DsaByte {
@PreDestroy
public void preDestroy() throws InterruptedException {
System.out.println("Cleaning Resource: " + Instant.now());
Thread.sleep(1000); // simulate an asynchronous cleaning
System.out.println("Cleaned Resource: " + Instant.now());
}
}
We have created a class named DsaByte
and a method preDestroy
. We have added @Service
annotation on the class level so that Spring Boot can recognise it. We have added @PreDestroy
annotation on the preDestroy
method so that it can be invoked by the container on any termination event received on the container level.
When you run the above code, you'll get to the following output
Cleaning Resource: 2023-11-16T00:31:28.863389Z
Cleaned Resource: 2023-11-16T00:31:29.868606Z
Add a thoughtful comment...
✨ Explore more tech insights and coding wonders with @dsabyte! Your journey in innovation has just begun. Keep learning, keep sharing, and let's continue to code a brighter future together. Happy exploring! 🚀❤️
Join the "News Later" community by entering your email. It's quick, it's easy, and it's your key to unlocking future tech revelations.
Weekly Updates
Every week, we curate and deliver a collection of articles, blogs and chapters directly to your inbox. Stay informed, stay inspired, and stay ahead in the fast-paced world of technology.
No spam
Rest assured, we won't clutter your inbox with unnecessary emails. No spam, only meaningful insights, and valuable content designed to elevate your tech experience.