如果我在下一行立即拋出一個例外,我就不能從DB中洗掉。
我不能從DB中洗掉。
public void verifyExpiration( RefreshToken token) {
if (token.getExpiryDate().compareTo(Instant.now() < 0) {
this.delete(token.getToken())。
throw new TokenException("重繪 令牌已過期。" token.getToken())。
}
}
public void delete(String token) {
this.refreshTokenRepository.deleteByToken(token)。
我錯過了什么?
我錯過了什么?
uj5u.com熱心網友回復:
在SpringBoot中,如果你想在拋出例外的同時完成交易,你可以為@Transactional注解使用noRollbackFor,如下:
@Transactional(noRollbackFor=TokenException.class)
uj5u.com熱心網友回復:
Spring資源庫已經被注釋為@Transactional。這意味著如果在處理你的資料時發生錯誤,所有的流程都會被回滾。
如果你想禁用spring存盤庫的trnasactional程序,你需要在你的介面中重新定義delete方法,并用@Transactional(propagation = Propagation.SUPPORTED)注釋它,檢查這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/309840.html
標籤:
