李鼎
李鼎
- System Control/Resilience #7
# Kryo ## 分析 - Kryo为什么比Hessian快 https://x-rip.iteye.com/blog/1555344 有Kryo生成的 二进制字节 分析 - Kryo 使用指南 https://www.cnblogs.com/hntyzgn/p/7122709.html 提到使用注意的**问题**,如 - 缺省的设置 不支持 增加或删除 Bean 中的字段,使用的是`FieldSerializer ` - 注册机制生成ClassId - Kryo 对象不是线程安全的 - Kryo 序列化说明...
还没有做Jetty的集成 @bamboox 😢 可以做的事有: - 提供`Jetty`的`ClassLoader`配置方式,把`Web`应用的`ClassLoader`设置过来 - 更进一步,提供一个`Web`应用的依赖目录规范,结合`Web`应用的使用方式,尽量做到方便配置,比如 - 在`$HOME/.jetty-web-app/common`目录下的依赖自动加载成`Web`应用`ClassLoader`的父`ClassLoader` - 在`$HOME/.jetty-web-app/middleware/*`目录下的依赖自动加载成`Web`应用的兄弟`ClassLoader`
需要与 Reactive 框架的 执行 集成 TTL @naturallight ## `RxJava`的集成 https://github.com/alibaba/transmittable-thread-local/blob/a22669d9770cac0930e07c895057ae10eb487447/src/test/java/com/alibaba/integration/RxJavaIntegrationDemo.kt#L27-L28 ## `Reactor`的集成 下面的`Reactor`的集成: - 对于`Reactor`自己的`Scheduler`是Work的。 - 但对于`reactor-netty`所实现(应该主要是实现的`Scheduler`),目前看起来不能被`Reactor`的`Schedulers.addExecutorServiceDecorator` Hook到。 所以,虽然这个`Demo`实现OK,但对于`reactor-netty`不Work。 要确认`Reactor`正确的Hook实现方式。 https://github.com/alibaba/transmittable-thread-local/blob/a22669d9770cac0930e07c895057ae10eb487447/src/test/java/com/alibaba/integration/ReactorIntegrationDemo.kt#L11-L14 ## 你的示例代码已加入工程,可以直接运行 下面这个集成 是不对的,运行不对;要确认`Reactor`正确的Hook实现方式。 https://github.com/oldratlee/log4j2-ttl-thread-context-map/blob/95aef2f8e7f0283c4b4713e2a62fd11dc7287ef1/src/test/java/com/alibaba/ttl/log4j2/bug/Log4j2Test.java#L21-L40
是的。 这个`Hook`实现 不行(出异常),尝试探索中(`Work In Process`) 😄 @naturallight 需要找到 像`RxJava`的Hook方式: 把 传递入`Flux`的`Lambda`,通过统一的`Runnable`方式 来 Wrap成 `TtlRunnable`。
OK , Thx @tolbrino updated and amended the commit, please check :)
> http://gee.cs.oswego.edu/dl/papers/aqs.pdf 这链接我竟然打不开 @baiwfg2 用梯下好了: [aqs.pdf](https://github.com/oldratlee/translations/files/8786924/aqs.pdf)
支持运行加载`agent`对于TTL是一个可以实现的功能Feature。 是否实现这个Feature,需要一起讨论一下: 对比 『启动时加载`-javaagent`选项』方式 与 运行时加载方式 2者。 下面展开说明对比: ## 1. 两者都需要准备好 `TTL Agent Jar` - 之前我实现过 运行时加载的`Agent`,即动态`Attach Java Agent` 参见这个`java-dns-cache-manipulator`工具: https://github.com/alibaba/java-dns-cache-manipulator/tree/master/tool - 参见Issue #161 如何在启动fat jar时优雅的使用javaagent参数 这点应该是确定的。(如果不是,可以给一下资料) ## 2. 在`Agent...
> 我的场景是这样的:想实现一个`JUnit Rule`,以简化单元测试的开发。 > > 比如我有一个Service: > ... @zscgrhg 关于使用`TTL Agent`的单元测试开发简化,想到下面的一种解决方法: 在`Maven`运行单元测试时,配置好`TTL Agent`的`JVM`参数。 ## 具体设置方式 ```xml maven-surefire-plugin 2.22.2 -javaagent:${com.alibaba:transmittable-thread-local:jar} maven-dependency-plugin 3.1.2 initialize properties ``` ## 可以运行工程的`POM`配置示例 https://github.com/oldratlee/log4j2-ttl-thread-context-map/blob/12b6b2d72d4e54da785b64a7a97970b824fd4519/pom.xml#L262-L284 因为`log4j2-ttl-thread-context-map`项目使用了`Maven Profile`,运行命令如下: ```bash...
> 当应用的字节码都加密过,agent 是否还是可用?,谢谢 这问题与具体某个`Agent`(如`TTL Agent`)无关。 相关的是:`Java Agent` 与 类文件加载 两者之间是如何协作的。 个人觉得,从类文件加载类的字节码 与 `Java Agent`(对加载后的类字节码做处理) 是2个独立的步骤。 ---- @kspine 你可以拿实际碰到的场景具体运行/测试验证一下; 然后反馈一下结果 ❤️