#docker #netflix-eureka #zipkin
#докер #netflix-эврика #zipkin
Вопрос:
Я развертываю zipkin в докере (zipkin-server-2.21.7-exec.jar ) и я подключаюсь к rabbit в докере. Я использую Eureka в docker для регистрации микросервисов. Когда я запускаю один из этих микросервисов, эта ошибка сравнивает
НЕ УДАЛОСЬ ЗАПУСТИТЬ ПРИЛОЖЕНИЕ
Описание:
Параметр 2 метода reporter в org.springframework.cloud.для настройки sleuth.zipkin2.ZipkinAutoConfiguration требовался компонент типа ‘zipkin2.reporter.Отправитель ‘, который не удалось найти.
Были найдены следующие кандидаты, но их не удалось внедрить:
-
Метод компонента ‘rabbitSender’ в ‘ZipkinRabbitSenderConfiguration’ не загружен, потому что @ConditionalOnBean (типы: org.springframework.amqp.rabbit.connection.CachingConnectionFactory; SearchStrategy: all) не найдено никаких компонентов типа org.springframework.amqp.rabbit.connection.CachingConnectionFactory
-
Метод компонента ‘restTemplateSender’ в ‘ZipkinRestTemplateSenderConfiguration’ не загружен, потому что ZipkinSender org.springframework.cloud.sleuth.zipkin2.sender.ZipkinRestTemplateSenderConfiguration тип отправителя rabbit
Экшен:
Рассмотрите возможность пересмотра записей выше или определения компонента типа ‘zipkin2.reporter.Отправитель’ в вашей конфигурации.
Я использую эти свойства spring.zipkin.sender.type=rabbit spring.zipkin.base-url=http://zipkin-server:9411/
Комментарии:
1. Вы решили эту проблему? Я получаю ту же ошибку.
Ответ №1:
Я реализовал свой собственный класс конфигурации как;
@Slf4j
@Configuration
public class TracingReportToRabbitConfiguration {
// Custom configuration for a Zipkin RabbitMQ Sender instantiation
@Bean(value="zipkinSender")
Sender sender(@Value("${spring.rabbitmq.addresses}") String rabbitmqHostUrl,
@Value("${spring.rabbitmq.queue:zipkin}") String zipkinQueue,
@Value("${spring.rabbitmq.username}") String username,
@Value("${spring.rabbitmq.password}") String password,
@Value("${spring.rabbitmq.ssl.enabled:false}") boolean useSSL) throws KeyManagementException, NoSuchAlgorithmException {
....
который работает для меня.