Dev Tools · 20h ago
How a @Transactional Pattern Drained a Hikari Connection Pool
A Spring Boot app's Hikari connection pool was drained because @Transactional methods held JDBC connections while performing synchronous I/O to ActiveMQ, Firebase, S3, and SMS. The issue was traced to synchronous event listeners inside transaction boundaries that blocked on external network calls. The fix involves moving I/O outside transactions or using asynchronous event publishing.
Meridian48 take
This is a classic pitfall in Spring development that many teams overlook, but the article's detailed diagnosis offers a valuable lesson for any Java shop using @Transactional.
Read the full reporting
Part 2. The Spring @Transactional Pattern That Drained Our Hikari Pool →
DEV Community
springhikari-pool