[英]How to Manage transactions in jax-rs without using spring's @Transactional beans
[英]How manage several transactions in one transactional method in Spring?
我有下一個代碼
@Transactional
public void f1() {
try {
lock();
//some logic
} catch (Exception ex) {
} finally {
releaseLock();
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void lock() {
repository.doLock();
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void releaseLock() {
repository.doReleaseLock();
}
我想要下一個行為:如果某些邏輯鎖出了問題,將被釋放。 在調試和日志中,我看到了非常奇怪的行為。 代碼工作流永遠不會最終訪問。
因此,我的問題是:如果其中一個失敗,那么如何正確地使該代碼具有3個完全回滾的事務?
簡單的答案,您的代碼應僅保留(使用throws語句):
@Transactional
public void f1() {
//some logic
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.