第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

加載時編織 (AspectJ):Hystrix 中斷事務(wù)傳播

加載時編織 (AspectJ):Hystrix 中斷事務(wù)傳播

慕桂英3389331 2023-04-26 13:59:37
@EnableLoadTimeWeaving我在與 AspectJ + @Transactional+的組合中遇到問題@HystrixCommand。所以,我已經(jīng)像這樣配置了加載時編織:@EnableLoadTimeWeaving(aspectjWeaving = ENABLED)@EnableCaching(mode = AdviceMode.ASPECTJ)@EnableTransactionManagement(mode = AdviceMode.ASPECTJ)加上儀器配置。我有一個 bean A,@Transactional在其中用和方法注釋,用 注釋@HystrixCommand。然后我有一個 bean B,也用 注釋@Transactional,但是有propagation = Propagation.MANDATORY,這意味著它需要現(xiàn)有事務(wù),否則失敗。這個 bean 中還有一個方法,用@HystrixCommand.最終,當(dāng)我從 bean A 的方法調(diào)用 bean B 的方法時,我得到:No existing transaction found for transaction marked with propagation 'mandatory'。我找了幾個小時的問題:一切似乎都配置正確,所以我?guī)缀醴艞壛?。然后我只是試圖@HystrixCommand從方法中刪除。瞧:事務(wù)傳播開始正常工作,異常消失了。所以我想知道:為什么會@HystrixCommand中斷事務(wù)傳播?它與我使用加載時編織的事實有某種關(guān)系嗎?還是預(yù)期的行為?有人可以闡明一下嗎?
查看完整描述

1 回答

?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗 獲得超8個贊

HystrixCommands您所說的問題可能與在隔離線程中執(zhí)行的事實有關(guān):

默認(rèn)和推薦的設(shè)置是使用線程隔離 (THREAD) 運行 HystrixCommands,使用信號量隔離 (SEMAPHORE) 運行 HystrixObservableCommands。

在線程中執(zhí)行的命令具有額外的保護(hù)層,以防止超出網(wǎng)絡(luò)超時所能提供的延遲。

通常,只有當(dāng)調(diào)用量如此之大(每個實例每秒數(shù)百次)以至于單獨線程的開銷太高時,您才應(yīng)該為 HystrixCommands 使用信號量隔離;這通常只適用于非網(wǎng)絡(luò)呼叫。


查看完整回答
反對 回復(fù) 2023-04-26
  • 1 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號