簡體   English   中英

如何為不同的方法使用不同的 spring 事務

[英]How to use different spring transactions for different methods

我在我的 oracle 數據庫中調用另一種方法來執行持久性的方法的持久性存在問題。

我會盡力解釋得更好,讓你們更容易,我希望你們能幫助我。

這是我的場景。

我有一個組件,我在其中調用一個看起來像這樣的方法:

public void execute() throws Exception {
    service1.method1(); // @Transactional
    service2.method2(); // @Transactional(propagation = Propagation.REQUIRES_NEW)
    service3.method3(); // @Transactional(propagation = Propagation.REQUIRES_NEW)
}

問題是我需要分別保留每個方法,以防其中一個出現異常,其他方法可以保留。

現在我遇到的問題是我遇到了死鎖,我的代碼仍在運行,直到我停止我的應用程序,並且事務永遠不會結束。

我嘗試了很多東西,但我在沒有必要的知識的情況下嘗試使用此 spring 事務,我不知道我還能嘗試做什么。

你能為我現在所在的這個黑洞帶來一些啟示嗎?

真的很謝謝你。

Spring AOP 相同的 class 方法將不起作用。 this.method1(); // @Transactional 將不起作用。

此線程中的更多解釋相同的 class 調用在 Spring AOP cglib 中無效

你可以注冊不同的事務管理器,你的服務使用它的@Transactional(tx="xxx")

暫無
暫無

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

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