Eventually, you can’t conclude the whole process flux because, at the end, the Spring Framework marks the transaction to rollback, even when all exceptions were caught.
The evidence of this scenario is this following message Transaction was marked for rollback only; cannot commit. The exception thrown is
It happens because in some point of all code processed, your flow had an exception unchecked. The simplest solution is to use checked exceptions and avoid use
NoResultException unless it is really necessary.