I have service A executing a method which is:
@Transactional(propagation=Propagation.REQUIRES_NEW)
which calls a method on service B which is:
@Transactional(propagation=Propagation.NOT_SUPPORTED)
which calls a method on service C which is:
@Transactional(propagation=Propagation.REQUIRED)
I know from the documentation that the service A transaction is 'suspended', when execution enters the method in service B. And I also know that the REQUIRED will use the 'current transaction' if there is one.
What I don't know is whether the suspended transaction from service A is classed as the 'current transaction' when service C's method is called.
In other words, in this instance, does the REQUIRED act like a REQUIRES_NEW, or will it just participate in the original transaction?