当我的代码抛出异常时,我在尝试回滚事务时遇到了一些麻烦。如果我在没有handlyng的情况下直接在我的控制器上抛出一个异常,那么事务就会很好地回滚,但是当我从另一个类抛出一个异常并处理这个异常时,我无法工作,如下面的代码所示。
这是我的控制器。
@Dynamic("EDIT_MANUAL_COMPENSATION")
@Transactional
public static Result save() {
try {
JsonNode request = request().body().asJson();
Long[] financialsId = JSONUtils.fromJson(request.get("financials"), Long[].class);
ManualReceivementStatus action = JSONUtils.fromJson(request.get("action"), ManualReceivementStatus.class);
FinancialLaunchClient.markManualFinancialsAs(financialsId, action);//SOME EXCEPTION GENERATED HERE
return ok();
} catch (Exception e) {
return createErrorMessage(e);
}
}