Граальс транзакция wokflow - PullRequest
       20

Граальс транзакция wokflow

0 голосов
/ 20 февраля 2020

У меня есть код планировщика (в гралях), который выполняется внутри блока транзакции:

Plan.withTransaction{
.....
plan.save(failOnError: true)
transaction.save(failOnError: true)
try{
  smsService.sendSMS(transaction) // transactional service
}catch(Exception e){
}
..........
}

Внутри метода sendSMS:

def sendSMS(Transaction transaction){
try{
  getSMSContent()
  sendSms()
 }  catch(Exception e){  print ...exception catched here....   }

}



 String getSMSContent(...){
    ..... it throws exception in some cases

 }

Теперь проблема заключается в том, что план и транзакция не сохранено (проверка вернет нормально без ошибок), если getSMSContent() выдает исключение. Я думаю, что транзакция не должна откатываться, потому что мы перехватили исключение в том же сервисе. Нужно ли перехватывать исключение в том же методе, который называется getSMSContent, чтобы транзакция не откатывалась и план / транзакция сохранялись даже в случае сбоя SMS?

Или я должен пометить службу SMS как «require_New», чтобы что новая транзакция создана?

...