0
我的應用程序中的事務回滾之前運行一些代碼時出現問題。我想要的是在出現異常時進行回滾,但我還希望在發生異常時(包括任何錯誤或堆棧跟蹤)在應用程序的狀態表中存儲一些信息。在事務回滾中添加動作
這裏是我的代碼:
public void performAction(String approverId, Document document, String action) {
try {
LOG.info(String.format("routing document %s %s %s", approverId, document.getDocumentId(), action));
getDocumentService().route(approverId, document, action);
} catch (Exception e) {
LOG.error(String.format("error routing document %s %s %s", approverId, document.getDocumentId(), action));
LOG.error(e, e);
saveException(document, action, e); //this is what I want
}
}
的saveException()方法簡單地創建一個對象,並將其保存到表中。
現在根據Spring文檔about transactions,這種回滾默認情況下發生在異常是運行時異常的地方,我已經確認回滾工作正常,但它不允許我的代碼運行並保存我需要的信息或者滾動一回(?)。
讚賞任何幫助或提示解決方案。
謝謝!我會研究它並報告我的發現。 – Saeed