Вы можете использовать TransactionSynchronizationManager.registerSynchronization
(например, gpeche ) с TransactionSynchronizationAdapter
, который имеет различные методы, которые вызываются на разных этапах текущей транзакции.Я думаю, что наиболее подходящий метод для этого вопроса - afterCommit .
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
@Override
public void afterCommit() {
super.afterCommit();
sendEmail();
}
});