26 lines
1.1 KiB
Java
26 lines
1.1 KiB
Java
package com.baiyue.common.web;
|
|
|
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.boot.web.client.RestClientCustomizer;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.web.client.RestClient;
|
|
|
|
/** Adds trace propagation to Spring-managed RestClient builders. */
|
|
@AutoConfiguration(afterName = "org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration")
|
|
@ConditionalOnClass({RestClient.class, RestClientCustomizer.class})
|
|
public class RestClientTracePropagationAutoConfiguration {
|
|
|
|
@Bean
|
|
@ConditionalOnMissingBean(RestClientTraceInterceptor.class)
|
|
RestClientTraceInterceptor restClientTraceInterceptor() {
|
|
return new RestClientTraceInterceptor();
|
|
}
|
|
|
|
@Bean
|
|
RestClientTraceCustomizer baiyueTraceRestClientCustomizer(RestClientTraceInterceptor interceptor) {
|
|
return new RestClientTraceCustomizer(interceptor);
|
|
}
|
|
}
|