2017-08-31 76 views
0

有一種服務方法,用@Transacational註釋。在這個方法中,我們執行一些刪除操作,然後我們想要產生一個新線程並刪除一些更多的條目。如果後面有一個例外。數據庫將進入不一致的狀態,因爲很少有條目被刪除。我可以將事務傳播給Thread嗎?我讀了一些article,但沒能成功。彈簧註釋@Transactional多線程

+0

不完全是這 – Raju

+0

我已經分享了一篇文章,他們提到了解決方案(即使我不能成功)。但在發佈後,他們說這是不可能的。 – Raju

回答

0

春季的交易狀態以線程本地方式存儲。 org.springframework.transaction.support.TransactionSynchronizationManager類。因此,從原始刪除線程設置的與事務相關的線程本地值不能訪問其他衍生刪除線程。

此外,您的線程必須由Spring進行管理,以便您的@Transactional註釋有效。您需要從Spring ThreadPoolTask​​Executor生成線程。