я решил вернуться к своей идее интеграции Кафки Метрики с весной загрузки приводом, который я уже упоминал здесь:Кафка MetricsReporter при поддержке Спринг загрузки привод
https://github.com/spring-projects/spring-boot/issues/6227
В настоящее время у меня есть отдельный проект «песочница» с рабочим кодом, который я хочу объединить в Spring Boot. И теперь я немного смущен. Часть моих тестов требует powermock к классу «супер обеспеченных» Мок Кафки:
package org.apache.kafka.common.metrics;
// some imports...
public final class KafkaMetric implements Metric {
private MetricName metricName;
private final Object lock;
private final Time time;
private final Measurable measurable;
private MetricConfig config;
KafkaMetric(Object lock, MetricName metricName, Measurable measurable, MetricConfig config, Time time) {
this.metricName = metricName;
this.lock = lock;
this.measurable = measurable;
this.config = config;
this.time = time;
}
// some good code here, but no public constructor and the class is final... of course.
}
Но powermock не используется в Spring ботинке.
Что мне делать?
- Добавить новую стабильную силовую установку - как пружинные, так и пружинные пружины.
- Добавить новую стабильную силовую установку только для пружинного ботинка - пусть это будет скрытый секретный помощник.
- Исключить испытания, требующие электроснабжения.
- Забудьте о показателях Kafka, они огромны и страшны, и никто не хочет их в нашем приятном и дружественном приводе Spring Boot.
PS: Кроме того, я пытался сделать мир лучше и исправить это в самом Кафке, но, к сожалению Сопровождающие держать меня игнорируешь:
Как использовать 'Metrics.addMetric()' для создания экземпляра 'KafkaMetric' и реагировать на него через ваш' KafkaStatisticsProvider.metricChange() ', который вы зарегистрируете в экземпляре' Metrics' перед тестированием? Вместо Powermock, конечно. Не знаком с Kafka Metrics, но я разветвил ваш проект. Выглядит просто, но нужно время, чтобы понять, что происходит. Вернусь к вам с понедельника, если не найдешь время в выходные. –
Это отвечает на вопрос, случай закрыт, спасибо. Ждем ответа от вас – stepio