• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nitouge
V2EX  ›  程序员

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

  •  
  •   nitouge · Oct 23, 2024 · 2071 views
    This topic created in 583 days ago, the information mentioned may be changed or developed.

    线程池设置 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 replies    2024-10-24 09:20:25 +08:00
    RandomJoke
        1
    RandomJoke  
       Oct 23, 2024
    我们是自己维护一个 contextHolder 结合 resilience4j.core.ContextPropagator 做上下文管理
    love2075904
        2
    love2075904  
       Oct 24, 2024
    我们目前使用的 TransmittableThreadLocal ,但是也有一些不可控的怪问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2471 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 15:51 · PVG 23:51 · LAX 08:51 · JFK 11:51
    ♥ Do have faith in what you're doing.