Настройка микрометра для автоматического создания нового диапазона в асинхронном режимеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Настройка микрометра для автоматического создания нового диапазона в асинхронном режиме

Сообщение Anonymous »

Я пытаюсь заставить Spring Boot 3.2 работать с идентификаторами трассировки/диапазона аналогично тому, как Spring Cloud Sleuth работает в Spring Boot 2.
Я придумал следующий класс конфигурации:

Код: Выделить всё

@Configuration
class MicrometerConfig implements AsyncConfigurer {
public static Executor executor() {
return ContextExecutorService.wrap(ForkJoinPool.commonPool(), contextSnapshotFactory::captureAll);
}

private static final ContextSnapshotFactory contextSnapshotFactory = ContextSnapshotFactory.builder()
.build();

@Override
public Executor getAsyncExecutor() {
return ContextExecutorService.wrap(Executors.newCachedThreadPool(), contextSnapshotFactory::captureAll);
}
}
Это работает для методов @Async, но не создает новые диапазоны для новых потоков. Я попытался добавить аннотацию @NewSpan к моему методу @Async, но из-за этого мой метод больше не работает асинхронно.
Я также пытался вручную добавить новый диапазон в форму моего асинхронного исполнителя

Код: Выделить всё

@Override
public Executor getAsyncExecutor() {
Span span = tracer.nextSpan();
span.start();
try (Tracer.SpanInScope ignored = tracer.withSpan(span)) {
log.info("NEWSPAN");
return ContextExecutorService.wrap(Executors.newCachedThreadPool(), contextSnapshotFactory::captureAll);
}
}
Хотя log.info("NEWSPAN") создает новый диапазон в журнале, фактический метод по-прежнему создает внешний идентификатор диапазона. Что мне не хватает?


Подробнее здесь: https://stackoverflow.com/questions/782 ... n-on-async
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»