Comments (5)
@wangshiyu13 会不会加其它Java Agent
(自动加bootclasspath
)也有这个问题?
显式加上-Xbootclasspath/a:path/to/transmittable-thread-local-2.x.y.jar
试试
from transmittable-thread-local.
@wangshiyu13 会不会加其它java agent(会自动加bootclasspath)也有这个问题?
显式加上
-Xbootclasspath/a:path/to/transmittable-thread-local-2.x.y.jar
试试
测试过 otel 或者 skywalking 的 agent 没有冲突
显式加上 bootclasspath 会出现加载两次的问题,最后一样会报classpath mismatch
from transmittable-thread-local.
@wangshiyu13
- 请提供一个 极简、可运行、复现问题的 代码Demo工程。
- 包含 otel 或者 skywalking Agent 没有冲突。
推荐提供成一个单独的工程(GitHub repo)。这样可以:
- 方便大家能排查分析;只提供片段代码、运行问题概述,排查信息不足
- 方便分离不相关的业务实现内容,以及排除可能的业务使用问题
如使用配置问题、其它业务代码的意外影响
from transmittable-thread-local.
测试 demo 在这:https://github.com/wangshiyu13/ttl-dw-agent-demo
dragonwell-8.18.19文件夹内是 dw-jvm
java 启动参数
java -javaagent:/transmittable-thread-local-2.14.5.jar=ttl.agent.logger:STDOUT -javaagent:/agent-1.0-SNAPSHOT-all.jar -Xbootclasspath/a:/transmittable-thread-local-2.14.5.jar -XX:-OmitStackTraceInFastThrow -XX:+TraceClassPaths -Xquickstart:path=/root/alibaba.quickstart.sharedcache -Xquickstart:verbose -jar /ttl-agent-demo-1.0.0-SNAPSHOT.jar
报错内容如下:
root@common-ops-7b69b56c5f-sbjp2:/# java -javaagent:/transmittable-thread-local-2.14.5.jar=ttl.agent.logger:STDOUT -javaagent:/agent-1.0-SNAPSHOT-all.jar -Xbootclasspath/a:/transmittable-thread-local-2.14.5.jar -XX:-OmitStackTraceInFastThrow -XX:+TraceClassPaths -Xquickstart:path=/root/alibaba.quickstart.sharedcache -Xquickstart:verbose -jar /ttl-agent-demo-1.0.0-SNAPSHOT.jar [classpath: /ttl-agent-demo-1.0.0-SNAPSHOT.jar] cache path is set from -Xquickstart:path=/root/alibaba.quickstart.sharedcache Running as replayer [Bootstrap loader class path=/jw/dragonwell-8.18.19/jre/lib/resources.jar:/jw/dragonwell-8.18.19/jre/lib/rt.jar:/jw/dragonwell-8.18.19/jre/lib/sunrsasign.jar:/jw/dragonwell-8.18.19/jre/lib/jsse.jar:/jw/dragonwell-8.18.19/jre/lib/jce.jar:/jw/dragonwell-8.18.19/jre/lib/charsets.jar:/jw/dragonwell-8.18.19/jre/lib/jfr.jar:/jw/dragonwell-8.18.19/jre/classes:/transmittable-thread-local-2.14.5.jar:/jw/dragonwell-8.18.19/jre/lib/amd64/serverless/serverless-adapter.jar:/transmittable-thread-local-2.14.5.jar] [type=BOOT Expecting -Dsun.boot.class.path=/jw/dragonwell-8.18.19/jre/lib/resources.jar:/jw/dragonwell-8.18.19/jre/lib/rt.jar:/jw/dragonwell-8.18.19/jre/lib/sunrsasign.jar:/jw/dragonwell-8.18.19/jre/lib/jsse.jar:/jw/dragonwell-8.18.19/jre/lib/jce.jar:/jw/dragonwell-8.18.19/jre/lib/charsets.jar:/jw/dragonwell-8.18.19/jre/lib/jfr.jar:/jw/dragonwell-8.18.19/jre/classes:/transmittable-thread-local-2.14.5.jar:/jw/dragonwell-8.18.19/jre/lib/amd64/serverless/serverless-adapter.jar] [BOOT classpath mismatch, actual: -Dsun.boot.class.path=/jw/dragonwell-8.18.19/jre/lib/resources.jar:/jw/dragonwell-8.18.19/jre/lib/rt.jar:/jw/dragonwell-8.18.19/jre/lib/sunrsasign.jar:/jw/dragonwell-8.18.19/jre/lib/jsse.jar:/jw/dragonwell-8.18.19/jre/lib/jce.jar:/jw/dragonwell-8.18.19/jre/lib/charsets.jar:/jw/dragonwell-8.18.19/jre/lib/jfr.jar:/jw/dragonwell-8.18.19/jre/classes:/transmittable-thread-local-2.14.5.jar:/jw/dragonwell-8.18.19/jre/lib/amd64/serverless/serverless-adapter.jar:/transmittable-thread-local-2.14.5.jar] An error has occurred while processing the shared archive file. shared class paths mismatch (hint: enable -XX:+TraceClassPaths to diagnose the failure) Error occurred during initialization of VM Unable to use shared archive.
如果在 ttl 的 jar 包打包时去掉Boot-Class-Path,则可以指定 bootclasspath 运行,但是 agent 貌似未成功
from transmittable-thread-local.
@oldratlee demo 已提供,地址https://github.com/wangshiyu13/ttl-dw-agent-demo
from transmittable-thread-local.
Related Issues (20)
- ListenableFuture添加了监听回调,回调线程获取不到正确的值? HOT 3
- 配合线程池使用时,remove了之后,下一个任务还是能拿到上一个任务设置的值 HOT 1
- 线上运行开始父子线程可以传递threadlocal变量,运行一段时间失效 HOT 1
- 使用jrebel -javaagent方式启动,在stream().parallel()无法正确获取内容
- jdk并发流parallelStream支持这种改造吗 HOT 1
- 在Java21的虚拟线程中不使用`TTL`会有问题吗? HOT 1
- TtlRunnable是否可以支持PriorityQueue和DelayQueue HOT 2
- 从哪里可以看到每个版本迭代哪些内容,或者修复了哪些bug HOT 1
- `Stream#parallel()#forEach()`或者`List#parallelStream()#forEach()`时,如何使用不丢失`TTL`值 HOT 1
- TTL是否支持调用中包含多种协议场景情况下的上下文传递 HOT 1
- TTL Agent instrument the class exception HOT 2
- graalvm TraversingBlockingQueue ArrayStoreException HOT 1
- 父线程调用remove清除缓存后,是否需要子线程显式romove HOT 1
- 请问下,在spring boot 场景下,filter 中进入时set ,但是业务中异步线程还未执行完,filter 请求已经finally remove了,这时获取到的值为null, 这种情况如何保证正确性 HOT 3
- TTL 在ThreadPoolExecutor传递错误(openJ9 agent使用方式) HOT 5
- 在transmittable-thread-local-2.12.4.jar agent 模式下与 nacos spring cloud loadbalance 偶发并发问题 HOT 5
- 关于快照与实时获取的ttlMap存在差异的删除逻辑 可能存在风险。 HOT 1
- 是否支持下module-info.java模块权限 HOT 4
- 使用`TransmittableThreadLocal<HashMap>`出现`ConcurrentModificationException` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from transmittable-thread-local.