Я пытаюсь создать событие после коммита с подпружиненной партией и mysql.
И я пытался с этим примером кода. (https://www.baeldung.com/spring-events)
Прекрасно работает при использовании одной транзакции, подобной этой.
@Service
public class A {
@Transactional
public void logic() {
// some logics
}
}
a.logic();
// Registering transaction synchronization for SqlSession
// Transaction synchronization committing SqlSession
// Transaction synchronization deregistering SqlSession
// Transaction synchronization closing SqlSession
// occuring event
//* ok. it works great. *//
Но при использовании внутренней транзакции транзакции не работает должным образом ... .
@Service
public class B {
@Autowired
private A a;
@Transactional
public void logic() {
// some logics
a.logic();
// some logics
}
}
b.logic();
// Registering transaction synchronization for SqlSession (parent transaction start)
// Releasing transactional SqlSession (I think it is child transaction)
// occuring event
// Transaction synchronization committing SqlSession
// Transaction synchronization deregistering SqlSession
// Transaction synchronization closing SqlSession (parent transaction end)
//* I want to occur event after parent transaction but not working as expected *//
Как я могу исправить произошедшее событие после родительской транзакции ???
или Есть ли какая-либо функция для @TransactionalEventListener после первой родительской транзакции ???