найти идентификатор транзакции весны @Transactional - PullRequest
0 голосов
/ 20 декабря 2018

Я использую @Transactional для управления транзакцией

  @Override
  @Transactional
  public List<FooBo> save(Foo foo, Foo foo2) {
    logger.debug(() -> String.format("FooService.save()"));
    repository.save(foo);
    return repository1.save(foo2);
  }

Я не могу найти идентификатор транзакции при использовании TransactionAspectSupport.currentTransactionInfo()

. Есть ли другой способ?(если Spring поддерживает уникальный идентификатор транзакции)

Обновление : мой сценарий заключается в том, что я хочу поместить некоторую информацию в статический контекст на основе идентификатора транзакции.И после совершения транзакции нужна эта информация.

Например, .. основываясь на идентификаторе транзакции, я хочу поместить некоторые объекты в карту в статическом контексте, и после фиксации необходимо использовать эти объекты ... это то, о чем я думаю

1 Ответ

0 голосов
/ 06 февраля 2019

Единственный способ, которым вы могли бы сделать это, - это создать транзакцию самостоятельно в методе, получив Менеджер транзакций через контекст приложения Spring и вызвав getTransaction() с новым TransactionDefinition, который содержит пользовательский идентификатор, которым вы можете управлять,После этого вы сможете использовать идентификатор, который вы только что установили для своей логики, но вы просто вручную commit() или rollback() сделка, когда вы закончите

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