W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
如果要將某些線程本地上下文傳播到@HystrixCommand
中,則默認聲明無效,因為默認聲明在線程池中執(zhí)行命令(如果超時)。通過要求Hystrix使用不同的“ 隔離策略 ”,可以通過配置或直接在批注中切換Hystrix來使用與調用方相同的線程。下面的示例演示了如何在注釋中設置線程:
@HystrixCommand(fallbackMethod = "stubMyService", commandProperties = { @HystrixProperty(name="execution.isolation.strategy", value="SEMAPHORE") } ) ...
如果使用@SessionScope
或@RequestScope
,則同樣適用。如果遇到運行時異常,提示它找不到范圍內的上下文,則需要使用同一線程。
您還可以選擇將hystrix.shareSecurityContext
屬性設置為true
。這樣做會自動配置一個Hystrix并發(fā)策略插件掛鉤,以將SecurityContext
從您的主線程轉移到Hystrix命令所使用的那個線程。Hystrix不允許注冊多個Hystrix并發(fā)策略,因此可以通過將自己的HystrixConcurrencyStrategy
聲明為Spring bean來使用擴展機制。Spring
Cloud在Spring上下文中尋找您的實現,并將其包裝在自己的插件中。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: