Find same-class calls between methods with incompatible @Transactional propagation

Proprietary

Finds a call to another method of the same class whose @Transactional propagation is incompatible with the caller's, for example a REQUIRED method calling a REQUIRES_NEW one. The call skips the Spring proxy, so the callee's propagation never takes effect. Calls inside lambdas, non-public methods and repositories that weave transactions with AspectJ are left alone.

io.moderne.java.spring.framework.FindIncompatibleTransactionalPropagation
mod run . --recipe=io.moderne.java.spring.framework.FindIncompatibleTransactionalPropagation

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.