V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nitouge
V2EX  ›  程序员

Spring 异步线程池传递线程上下文

  •  
  •   nitouge · 58 天前 · 1216 次点击
    这是一个创建于 58 天前的主题,其中的信息可能已经有所发展或是发生改变。

    线程池设置 TaskDecorator(),通过 RequestContextHolder 设置多线程上下文,在 Feign 请求拦截器获取信息的时候错误 Request facade recyceld ,最终在 Tomcat 的 Connector 类 public static final boolean RECYCLE_FACADES = Boolean.parseBoolean(System.getProperty("org.apache.catalina.connector.RECYCLE_FACADES", "true")); 在 9.0.8x 默认是 false,请求默认复用,不回收,现在升级到了 9.0.9x 版本,默认是 true

    1.通过设置系统属性 org.apache.catalina.connector.RECYCLE_FACADES=false 2.通过 TransmittableThreadLocal 去做

    目前不知道这个怎么升级比较好

    2 条回复    2024-10-24 09:20:25 +08:00
    RandomJoke
        1
    RandomJoke  
       58 天前
    我们是自己维护一个 contextHolder 结合 resilience4j.core.ContextPropagator 做上下文管理
    love2075904
        2
    love2075904  
       57 天前
    我们目前使用的 TransmittableThreadLocal ,但是也有一些不可控的怪问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1528 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:02 · PVG 01:02 · LAX 09:02 · JFK 12:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.