alibaba / transmittable-thread-local

📌 a missing Java std lib(simple & 0-dependency) for framework/middleware, provide an enhanced InheritableThreadLocal that transmits values between threads even using thread pooling components.
https://github.com/alibaba/transmittable-thread-local
Apache License 2.0
7.59k stars 1.69k forks source link

如何在启动fat jar时优雅的使用javaagent参数 #161

Closed allurx closed 4 years ago

allurx commented 4 years ago

我现在有一个通过spring-boot-maven-plugin打包后的fat jar,我是通过使用Java Agent来修饰JDK线程池实现类来启动这个fat jar的,启动命令类似以下这种方式

java -javaagent:path/to/transmittable-thread-local-2.11.2.jar -jar fat.jar

我现在有一个疑惑的地方:

请问有没有更加优雅的方式来使用javaagent指定ttl.jar呢?@oldratlee

oldratlee commented 4 years ago

JavaAgent需要指定-javaagent参数,即明确的知道目标服务器上Agent Jar的路径是需要的。 # 个人没有找到不通过-javaagent参数设置好Agent Jar的方法。

可以通过一个脚本(简单的如shell脚本)来启动启动Java进程,在脚本中可以实现逻辑来发现TTL/Agent Jar的位置。 @Allurx


一种实现方式如下:

PS

Fat Jar 与 Agent 的相关资料:

allurx commented 4 years ago

@oldratlee 十分感谢你的回复,看来我只能通过脚本和ttl.jar来启动我的fat.jar了。