如何在 Project Reactor 中传递线程局部变量

Nis*_*ant 0 project-reactor

我开始使用项目反应器。有谁知道如何将线程局部变量从一个线程传递到另一个线程?我看到了一些方法,Hooks.java但无法弄清楚推荐的方法是什么。有人可以指点我一些文档或关于如何做的代码片段。谢谢。

Goo*_*man 5

我在这个 github 存储库中有一个基于spring-cloud-sleuth实现的工作示例:https : //github.com/gumartinm/JavaForFun/tree/master/SpringJava/WebReactive/spring-webreactive-reactor-context-enrich

关键类是:ContextCoreSubscriber.javaSubscriberContext.javaThreadContextEnrichmentAutoConfiguration.javaUsernameFilter.java

  • ContextCoreSubscriber.java:
    使您能够填充映射的诊断上下文:MDC
  • SubscriberContext.java:
    用于在 Reactor 的 Context 中插入数据的 Helper 类。
  • ThreadContextEnrichmentAutoConfiguration.java:
    负责配置Reactor的Hooks:Hooks.onEachOperator
  • UsernameFilter.java:
    我们想要根据某些 HTTP 标头注册用户名信息的示例。