Design patterns in examples - State
Active, inactive, saved, verified, sent, completed. Do they seem familiar? If so, you have had a potential use case for State design pattern. Would you like to learn it? Then, let's do it.
The same application code, the same database engine but it works on one server, on another does not. Why?
Repeating actions with Spring Retry
Some operations in software systems are not reliable. Database operations may deadlock, sending an email may fail, a network request may not reach the destination etc. There is a chance that another attempt of the same action will succeed. It is recommended to wrap such operations with a retrying mechanism. Spring Retry is a library that makes it easy.
Logging configuration for Spring Boot (logback)
When you start a project, you usually do not care about logging. Necessary information is printed to the console by default. That is usually enough for development but when you want to go with it to production, logging has to be configured. There are a few Java libraries that can handle logging like java.util.logging, Logback, Log4j, Jakarta Commons Logging. When you create a project based on Spring Boot Web Starter, Logback is added by default.