Начать новую транзакцию с CompletableFuture? - PullRequest
0 голосов
/ 28 января 2020

Как начать новую транзакцию при выполнении некоторого кода с помощью метода CompletableFuture.runAsyn c. Например:

void runAsync() {
      ServiceUtils.runAfterTransactionCommits(() -> CompletableFuture.runAsync(() -> 
      doStuff()));
 }

@Transactional
void doStuff() {
    //insert DB update 1
    //insert DB update 2
    throw new RuntimeException("Some error happens");
}

Метод doStuff не работает транзакционно, поскольку оба обновления отображаются в таблице даже после исключения. Как начать транзакцию для асин c кода?

...