Spring Multiple Transaction Control - PullRequest
       7

Spring Multiple Transaction Control

0 голосов
/ 07 ноября 2018

Вопрос об использовании нескольких транзакций в crudrepository, jparepository ext. В моем проекте есть две сущности. RequestEntity и SendingMailEntity. WorkFlow в моем методе:

1) сохранить RequestEntity,

2) отправить informationService (это услуга отдыха, приобретенная нами. Мы не можем контролировать ее исключение.)

3) сохранить SendingMailEntity.

Когда есть исключение для номера 2 или 3, мы теряем requestEntity из-за отката, который контролируется пружиной jpa.

Записи requestEntity никогда не будут потеряны.

Как я могу контролировать эту проблему? Как я могу иметь две независимые транзакции в весенних данных?

Спасибо за помощь.

1 Ответ

0 голосов
/ 07 ноября 2018

Вам необходимо создать метод в вашем сервисе специально для управления / сохранения requestEntity и соответствующим образом аннотировать его, чтобы текущая транзакция была приостановлена, и этот код запускается в новой транзакции и фиксируется при выходе из метода:

@Transactional(propagation = Propagation.REQUIRES_NEW)
public void processRequestEntity(...){
    // jpa repo actions
}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...