簡體   English   中英

是否可以將整個@Transactional類的一個方法標記為非事務性的

[英]Is it possible to mark one method of an entire @Transactional class as non-transactional

我需要在標記為@Transactional的類的方法中手動維護事務。 如果我現在嘗試這樣做,則拋出異常(很可能是因為事務被提交兩次,一次由我提交,兩次由包裝器代理提交)。 我需要做什么。

如果這是不可能的,那么有沒有辦法在成功提交事務時通知(數據庫中的數據和所有內容),以便我調用另一個依賴於同一個數據庫的applciation?

我希望你使用的是春天 如果是,那么你可以。

請在此處閱讀API中的代碼塊。 在第

@Transactional(readOnly = true)
public class DefaultFooService implements FooService {

 public Foo getFoo(String fooName) {
// do something
}

// these settings have precedence for this method
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
public void updateFoo(Foo foo) {
 // do something
}
}

不,我不相信這是可能的。 我相信如果你創建另一個線程並執行代碼,它將在事務之外。 要小心,因為當你創建額外的線程並自己管理它時,它會變得有點冒險。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM