Я пытаюсь заставить Spring Slueth распространять идентификаторы трассировки через наши системы.
при проверке журналов в другой службе я заметил, что генерируются новые идентификаторы.
Я думал, что этоможет быть из-за моего использования Feign Builder, и я уже использовал okHttpClient.
Я столкнулся со следующим:
https://github.com/spring-cloud/spring-cloud-sleuth/issues/594
Как реализоватьОтслеживание Sleuth с Feign.Builder?
У меня настроены bean-компоненты следующим образом:
@Configuration
@RequiredArgsConstructor
public class OkHttpConfig {
private final Properties properties;
@Bean
public OkHttpClient okHttpClient() {
return new Builder()
.connectTimeout(properties.getHttpTimeoutMillis(), TimeUnit.MILLISECONDS)
.readTimeout(properties.getHttpTimeoutMillis(), TimeUnit.MILLISECONDS)
.writeTimeout(properties.getHttpTimeoutMillis(), TimeUnit.MILLISECONDS)
.connectionPool(new ConnectionPool(properties.getHttpPoolSize(),
properties.getHttpKeepAliveMillis(), TimeUnit.MILLISECONDS))
.build();
}
@Configuration
public class HttpClientConfiguration {
@Autowired
private Properties properties;
@Autowired
private Client client;
@Bean
public SomeClient SomeClient(Client client, ObjectMapper objectMapper {
return feignClient(properties.getUrl(), SomeClient.class, client,
objectMapper);
}
public static <T> T feignClient(String baseUrl, Class<T> clientClass,
Client client, ObjectMapper objectMapper) {
return Feign.builder()
.client(client)
.decoder(new JacksonDecoder(objectMapper))
.encoder(new JacksonEncoder(objectMapper))
.target(clientClass, baseUrl);
}
Я ожидал, что клиент будет упакован в реализацию трассировки, ноя продолжал получать следующую ошибку
Unsatisfied dependency expressed through field 'client'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type 'feign.Client' available:
expected at least 1 bean which qualifies as autowire candidate.Dependency annotations:
Использование следующих версий:
Spring boot 2.1.2.RELEASE
org.springframework.cloud: spring-cloud-sleuth: 2.1.0.RELEASE