Comments (3)
当前定位到的问题是在运行过程中序列化com.caucho.hessian.io.java8time.LocalDateTimeHandle
加载失败导致。
因为在 com.caucho.hessian.io.SerializerFactory#getObjectDeserializer(java.lang.String)方法的逻辑中,如果根据LocalDateTimeHandle这个名称找不到反序列化类,就会返回有hashmap的反序列化类。
具体报错日志:
2019-09-21 17:47:24.709 WARN 6083 --- [eat-task-pool-1] com.caucho.hessian.io.SerializerFactory : Hessian/Burlap: 'com.caucho.hessian.io.java8time.LocalDateTimeHandle' is an unknown class in org.springframework.boot.loader.LaunchedURLClassLoader@19ae6bb:
java.lang.ClassNotFoundException: com.caucho.hessian.io.java8time.LocalDateTimeHandle
from jvm-sandbox-repeater.
对比了单测中的执行结果,发现在单测中会从sun.misc.Launcher$AppClassLoader
对LocalDateTimeHandle
类进行加载,而在agent/attach模式下启动的时候,则会从org.springframework.boot.loader.LaunchedURLClassLoader
中进行加载。
具体为什么会导致这种差异,还是说这个差异必然存在,需要像BigDecimal类型一样另外做一个Deserializer
这块,我还没想明白。要继续看看
from jvm-sandbox-repeater.
HessianHandle是一个特殊实现方式,可以具体跟进看一下源码;
该问题已在dev分支中解决,原因是HessianHandle的type默认使用了序列化的类加载器加载。
from jvm-sandbox-repeater.
Related Issues (20)
- 一些不能mock的场景,请问是暂不支持还是我使用错误
- 开启单机模式,可以录制但无法回放 HOT 2
- 序列化异常
- repeater动态attach增强后,skywalking juc ttl传递失败
- 配置管理-推送404
- 演示项目启动后自动安装应用名、环境均为unknown的模块 HOT 1
- 获取插件路径时,存在不兼容windows平台问题;以及serverIp疑问。
- 泛化调用dubbo,ExtensionLoader无法获取Protocol类 HOT 1
- apache-http-client-plugin在抓取返回结果为二进制数据的http请求时,会造成上层业务代码拿到的responseBody数据错乱
- consider solving big body problem? HOT 1
- 有计划支持jdk17吗 HOT 5
- dubbo 录制的时候日志报错:no valid classloader found in routing 要怎么处理? HOT 1
- com.alibaba.jvm.sandbox.repeater.plugin.core.trace.Tracer#start(java.lang.String)为什么是非线程安全的?
- jvm-sandbox-repeater最新版本的依赖版本是多少?
- 流量录制与回放过程中若干优化建议
- install-local.sh的脚本中获取sandbox的地址有误 HOT 1
- 请问为什么请求和返回用hessian 序列化后再做一次 base64? HOT 1
- 多次调用reload,导致SubscribeSupporter被重复注册,客户端重复回放同一个请求
- 关于不同协议的流量重放支持 HOT 2
- 插件开发:hibernate的update方法及mybatis-plus部分版本的部分方法没有返回值,怎么设置拦截点呢 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 jvm-sandbox-repeater.