Open orangewest opened 1 month ago
@orangewest
上面说明的是 日志/MDC
的问题(原因可能是 日志/MDC
的使用或实现):
TTL
的问题/Bug
的说明TTL
的内容(如日志/MDC
的问题或使用方式),请尽量不在本库讨论另外,请提供一个 极简、可运行、复现问题的 代码Demo工程。
推荐提供成一个单独的工程(GitHub repo)。这样可以:
@oldratlee
demo地址 https://github.com/orangewest/ttl-demo
启动参数
代码
运行结果
https://github.com/orangewest/ttl-demo/pull/1 應該是因為沒有用TtlRunnable.get()
@jakejakeho 使用是agent的方式,是不需要使用TtlRunnable包装的,Completablefuture里面的ForkJoinPool就没有问题。不使用agent直接用ttl包装Executor也没有问题。
@oldratlee 大概知道是什么问题了,我用的jdk是openj9,换成openjdk就没问题了,不知道什么原因,ThreadPoolExecutor这个类没有加载,所以没有被增强。 但是里面的内部类加载了。 使用arthars jad命令后,才会重新触发增强。
日志框架logback,修改了底层MDC的实现,改用TTL 启动参数增加agent,调用请求发现ThreadPoolExecutor传递重复 代码如下: 日志如下: 下面的没有从主线程复制 TTL版本:2.14.5 jdk8