@TransactionEventListenser не работает должным образом при внутренней транзакции транзакции - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь создать событие после коммита с подпружиненной партией и 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 после первой родительской транзакции ???

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...