arextest / arex-agent-java

Lightweight Java agent for traffic capture and replay, enhancing testing and debugging.
https://doc.arextest.com/
Apache License 2.0
416 stars 82 forks source link

dubbo3.0子调用mock结果为null,取不到录制数据 #490

Open JCACJY opened 1 month ago

JCACJY commented 1 month ago

Search before asking

AREX Test Service

AREX Java Agent (arextest/arex-agent-java)

Current Behavior

dubbo3.0子调用mock结果为null,取不到录制数据

Expected Behavior

预期: 录制/回放获取的dubbo服务签名相同,回放时能正常取到mock数据;

Steps To Reproduce

问题: dubbo3.0子调用接口,录制时取到的dubbo服务名未带版本号,放回时取到的dubbo服务名带了版本号,录制/回放前后mock服务签名不匹配,最终导致回放时mock结果为null;

Anything else

扩展: 看源码似乎dubbo2.0和dubbo3.0对同服务多版本的支持都存在问题,原则上获取服务签名时应优先使用【接口路径:版本号】的格式作为服务签名,如果getAttachment("path")为空,再降级从invocation中获取!

Are you willing to submit a pull request to fix on your own?