Как распространять контекст через StructuredTaskScope с помощью ScopedValue, кстати, как насчет MDC ThreadContextMap в SJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как распространять контекст через StructuredTaskScope с помощью ScopedValue, кстати, как насчет MDC ThreadContextMap в S

Сообщение Anonymous »

В этом случае мне нужно распространять некоторое состояние, например трассировку/диапазон или контекст запроса для каждого запроса.
Jdk env — предварительная версия 21.0.1.
Я пробую для распространения любого состояния между потоком и виртуальным потоком обычным способом.
Кроме того, полная реализация будет совместима со сценариями ThreadLocal
например:

[распространение контекста]: (https://github.com/micrometer-metrics/c ... ropagation)
[TransmittableThreadLocal]: https://github.com/alibaba/transmittabl ... lob/master /README-EN.md)
В jdk 21 поток определен как поток платформы, и на этот раз моими целями являются следующие три сценария
  • виртуальные потоки -> потоки платформы.
  • темы платформы -> виртуальные потоки.
  • виртуальные потоки -> виртуальные потоки.
  • виртуальные потоки -> виртуальные потоки
  • виртуальные потоки -> виртуальные потоки
    li>
Ниже приведен мой конкретный код, включающий некоторые ключевые идеи без случаев потоков платформы.
Например:

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

@SuppressWarnings({"unchecked", "rawtypes"})
static class PropagatingTaskDecorator implements TaskDecorator {

public record Tracer(String traceId, String spanId, String parentId) {

}

private final ScopedValue[] keys;

public PropagatingTaskDecorator(ScopedValue... keys) {
this.keys = keys;
}

static class ScopedValueMap {

public static final ScopedValue TRACER_SCOPED_VALUE = ScopedValue.newInstance();
private final Map

Подробнее здесь: [url]https://stackoverflow.com/questions/77716273/how-to-propagating-context-through-structuredtaskscope-by-scopedvalue-by-the-wa[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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