Spring Boot

Mastering Spring & MSA Transactions – Part 10: Fine-Tuning Your Transactions: readOnly, timeout, and Other Options

In the previous articles, we explored core transaction concepts like Propagation (when and how transactions start or join), Isolation (how to avoid concurrency anomalies), and rollback rules (deciding which exceptions trigger rollbacks). Now, it’s time to look at other Spring transaction attributes that can dramatically improve performance and stability: Let’s see how to configure these…

Mastering Spring & MSA Transactions – Part 9: Which Exceptions Should Roll Back Your Transactions?: Fine-Tuning Spring’s Rollback Rules

In the previous articles, we explored how to start or join transactions (propagation) and how to handle concurrency (isolation). However, even if you have those aspects covered, you still need to decide what happens when exceptions occur: What if you need to roll back on a checked exception like IOException? Or what if you want…

Mastering Spring & MSA Transactions – Part 8: Beyond Propagation: Mastering Transaction Isolation for Safer Concurrency

In the previous article, we explored the various propagation modes (REQUIRES_NEW, NOT_SUPPORTED, etc.), showing how different pieces of your application can start new transactions or share existing ones. However, even if you’ve got propagation nailed down, that alone won’t guarantee your data remains consistent when multiple users or services hit the database at the same…

Mastering Spring & MSA Transactions – Part 7: Unlocking Transaction Propagation in Spring: When to Combine, When to Separate

In our previous discussions, we discovered how @Transactional can automatically handle commits and rollbacks in Spring. Yet, real-world scenarios raise questions like: That’s exactly where transaction propagation steps in. This article explores the different propagation modes and how each fits common situations in everyday development. 1) What Is Transaction Propagation? Propagation in Spring determines how…

Mastering Spring & MSA Transactions – Part 6: Where Exactly to Put @Transactional: Class-Level or Method-Level?

You’ve seen how @Transactional allows Spring to automatically manage commits and rollbacks, freeing you from having to code transaction boundaries by hand. But once you start using it, a question arises: Should you declare @Transactional at the class level or the method level? This article dives into the pros, cons, and potential pitfalls of each…

Mastering Spring & MSA Transactions – Part 4: The Rise of Declarative Transactions: @Transactional, AOP, and Spring Boot Autoconfiguration

In the previous article (Part 3), we traced how Java’s transaction management evolved from JDBC → EJB → Spring (programmatic style): Here in Part 4, we examine Spring’s further breakthrough: declarative transactions—a way to simply annotate a method with @Transactional and let the framework handle all transaction details, without the overhead of an application server….

End of content

End of content