Search before asking
AREX Test Service
AREX Java Agent (arextest/arex-agent-java)
Current Behavior
报错截图如下

日志信息
2024-07-11 21:43:28:558 [arex-data-save-handler-4-thread-1] WARN io.arex.inst.runtime.log.LogManager - [[title=arex.saveDataLoop]]send mock data unhandled error: Cannot invoke "String.getBytes(java.nio.charset.Charset)" because "original" is null
2024-07-11 21:43:28:558 [arex-data-save-handler-4-thread-1] WARN io.arex.inst.runtime.log.LogManager - [[title=arex.saveDataLoop]]send mock data unhandled error: Cannot invoke "String.getBytes(java.nio.charset.Charset)" because "original" is null
问题排查:defaultSerializer 为空导致,debug跟踪代码发现 ServiceLoader 只加载了两个serializer,不包含 io.arex.foundation.serializer.jackson.JacksonSerializer#JacksonSerializer;后续在保存 mocker 时,由于 defaultSerializer 为空导致程序执行异常,后续录制的mocker无法保存
截图中的 classLoader 是 appClassLoader,如果是 spring 程序的话,是 tomcat loader,不会有问题

Expected Behavior
一般的场景:tomcat loader 加载时,会包含 io.arex.foundation.serializer.jackson.JacksonSerializer#JacksonSerializer

Steps To Reproduce
非 tomcate 程序:如下截图的的 xxl 实例程序(jdk17):

复现:
1、构建 arex agent,用jdk17
2、指定 agent 挂载参数启动 xxl-job-executor-sample-frameless
3、下发一个调度请求到 xxl-job-executor-sample-frameless 程序(开始录制)
4、接着会看到报错日志:

Anything else
No response
Are you willing to submit a pull request to fix on your own?
Search before asking
AREX Test Service
AREX Java Agent (arextest/arex-agent-java)
Current Behavior
报错截图如下

日志信息
问题排查:defaultSerializer 为空导致,debug跟踪代码发现 ServiceLoader 只加载了两个serializer,不包含

io.arex.foundation.serializer.jackson.JacksonSerializer#JacksonSerializer;后续在保存 mocker 时,由于 defaultSerializer 为空导致程序执行异常,后续录制的mocker无法保存截图中的 classLoader 是 appClassLoader,如果是 spring 程序的话,是 tomcat loader,不会有问题
Expected Behavior
一般的场景:tomcat loader 加载时,会包含

io.arex.foundation.serializer.jackson.JacksonSerializer#JacksonSerializerSteps To Reproduce
非 tomcate 程序:如下截图的的 xxl 实例程序(jdk17):

复现:

1、构建 arex agent,用jdk17
2、指定 agent 挂载参数启动
xxl-job-executor-sample-frameless3、下发一个调度请求到
xxl-job-executor-sample-frameless程序(开始录制)4、接着会看到报错日志:
Anything else
No response
Are you willing to submit a pull request to fix on your own?