The issue was caused by the @Transactional
annotation on my custom @CustomService
annotation. Since @Transactional
proxies the class to handle transaction management, it interfered with the retry mechanism when combined with @Service
. The retry logic was being applied to the transactional proxy, which was likely causing the method invocation to bypass the retry logic after the first call.