HTTP客戶端集成

同步休息模板

我們注入一個RestTemplate攔截器,確保所有跟蹤信息都傳遞給請求。每次呼叫都會創(chuàng)建一個新的Span。收到回應后關閉。為了阻止將spring.sleuth.web.client.enabled設置為false的同步RestTemplate功能。

重要你必須注冊RestTemplate作為一個bean,以便攔截器被注入。如果您使用new關鍵字創(chuàng)建RestTemplate實例,那么該工具將不工作。

異步休息模板

重要一個AsyncRestTemplatebean的跟蹤版本是為您開箱即用的。如果你有自己的bean,你必須用TraceAsyncRestTemplate表示來包裝它。最好的解決方案是只定制ClientHttpRequestFactory和/或AsyncClientHttpRequestFactory。如果您有自己的AsyncRestTemplate,并且您不要包裝您的電話將不會被追蹤。

定制儀器設置為在發(fā)送和接收請求時創(chuàng)建和關閉跨度。您可以通過注冊您的bean來自定義ClientHttpRequestFactory和AsyncClientHttpRequestFactory。記住使用跟蹤兼容的實現(xiàn)(例如,不要忘記在TraceAsyncListenableTaskExecutor中包裝ThreadPoolTaskScheduler)。自定義請求工廠示例:

@EnableAutoConfiguration

@Configuration

public static class TestConfiguration {

@Bean

ClientHttpRequestFactory mySyncClientFactory() {

return new MySyncClientHttpRequestFactory();

}

@Bean

AsyncClientHttpRequestFactory myAsyncClientFactory() {

return new MyAsyncClientHttpRequestFactory();

}

}

將AsyncRestTemplate功能集spring.sleuth.web.async.client.enabled阻止為false。禁用TraceAsyncClientHttpRequestFactoryWrapper設置spring.sleuth.web.async.client.factory.enabled設置為false。如果您不想將所有spring.sleuth.web.async.client.template.enabledfalse的AsyncRestClient創(chuàng)建為false。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容