Я просматривал исходный код Spring, и AbstractPlatformTransactionManager имеет методы для processCommit () и processRollback () .....
processCommit () вызывает triggerBeforeCommit (), а processRollback - нет.
Таким образом, ответ перед beforeCommit () не вызывается, когда происходит откат ....
и beforeCompletion вызывается в обоих случаях, но передает статус в аргументе метода.