Я изменил какой-то старый код и столкнулся со странной проблемой:
Мне нужно зафиксировать или откатить транзакцию на основе результата возврата метода сервиса в методе моего контроллера вручную .Ниже приведен код, который я хочу заархивировать. Можно ли это сделать?
Примечание. Я знаю, что наиболее подходящий способ - это внести некоторые изменения в код службы и позволить коду службы определять откат или фиксацию.Но по некоторым причинам я не могу изменить сервисный код, я могу изменить только код контроллера.
@RequestMapping("processData")
public void processData(String id){
String result = dataService(id);
if("success".equals(result)){
//commit transaction
}else{
//rollback transaction
}
//since there some other codes in controller method,so exception might not be a good choice
//.....
}