執行緒池中使用spring aop事務增強

2022-09-29 18:24:13 字數 570 閱讀 3911

這篇文章主要介紹了執行緒池中使用spring aop事務增強,文中通過示例**介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

問題描述:

在專案裡使用了執行緒池執行同乙個類的例項方法,**大致如下,執行時發現job方法的事務不生效

@transactional

public void dojob()

@transactional

public void job()

原因分析:

debug進入job方法時,發現執行job方法的例項是個普通例項而不是個**物件,因此無法實現aop增強

解決辦法:

在dojob中呼叫aopcontext.currentproxy()獲取當前的**物件,在**物件上呼叫job方法

@transactional

public void dojob()

@transactional

public void job()

本文標題: 執行緒池中使用spring aop事務增強

本文位址: /ruanjian/j**a/299919.html

執行緒池中的柵欄

多執行緒中有三個類,分別是countdownlatch,cyclicbarrier,semaphore。代表著執行緒中的柵欄。共享鎖。在一組執行緒中,乙個執行緒等待其他執行緒。我把它理解為門栓。檢視該類的資料結構圖如下圖一 圖一 有乙個靜態的內部類,sync繼承自aqs。使用例子 如下 classn...

執行緒池中捕獲執行緒執行異常

在專案中使用執行緒池時,使用了如下方式 executorservice datauploadpool executors.newfixedthreadpool writethreadnum datauploadpool.execute new thread task 但是這種方式下,主線程無法捕獲子...

執行緒池中的執行緒何時死亡?

runworker this gettask 其他介紹 面試被問到了,結果說的不清楚。回來看了下。檢視從workqueue中gettask,當非core執行緒空閒時間超過keepalivetime,timeunit指定的時間後,則退出 ps 超過空閒時間退出這個我是知道的,但是當時本能的認為不是問的...