温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java dubbo怎样调试更方便

发布时间:2026-11-03 17:18:42 来源:亿速云 阅读:100 作者:小樊 栏目:编程语言

在 Java + Dubbo 开发中,调试确实比普通 Web 项目稍微麻烦一点(因为涉及注册中心、RPC 调用、多进程)。下面按使用频率和可操作性给你一个比较系统的方案。


一、本地直连(最常用、最推荐)

核心思想:跳过注册中心,Consumer 直接连 Provider。

1. 注解 / XML 直连

@Reference(url = "dubbo://127.0.0.1:20880")
private UserService userService;

或 XML:

<dubbo:reference interface="com.xxx.UserService"
                url="dubbo://127.0.0.1:20880"/>

✅ 优点:

  • 不用启动注册中心
  • 断点非常方便

二、本地启动 Provider + Consumer(IDE 调试)

推荐方式

  • 一个 IDEA 窗口启 Provider
  • 另一个 IDEA 窗口启 Consumer / Web
  • 都用 localhost

注意点

  • Provider 端口不要冲突(20880、20881…)
  • 日志级别调成 DEBUG:
logging:
  level:
    com.alibaba.dubbo: DEBUG
    org.apache.dubbo: DEBUG

三、Mock 调试(不依赖后端)

1. 使用 Dubbo Mock

@Reference(mock = "true")
private UserService userService;

或自定义 Mock:

public class UserServiceMock implements UserService {
    public User getUser() {
        return new User("mock");
    }
}

✅ 适合:

  • 前端联调
  • 后端未开发完

四、Telnet / QOS 调试(生产也好用)

Dubbo 自带 QOS(端口 22222)

telnet localhost 22222

常用命令:

ls
invoke com.xxx.UserService.getUser(1)
trace com.xxx.UserService.getUser

✅ 非常适合:

  • 线上问题排查
  • 不想写测试代码

五、Arthas(强烈推荐)

java -jar arthas-boot.jar

常用:

watch com.xxx.UserService * '{params,returnObj}'
trace com.xxx.UserService getUser

✅ 优点:

  • 不改代码
  • 不重启
  • 生产可用

六、日志 & 链路追踪

1. 开启 Dubbo 访问日志

dubbo.application.logger=slf4j

2. 接 SkyWalking / Zipkin

  • 看 RPC 耗时
  • 看调用链

七、单元测试(最稳)

@ExtendWith(SpringExtension.class)
@DubboComponentScan
public class UserServiceTest {

    @Reference
    private UserService userService;

    @Test
    public void test() {
        userService.getUser();
    }
}

八、常见调试坑

问题 原因
调用不到 端口/分组/版本不一致
序列化失败 参数未实现 Serializable
本地调不通 注册中心脏数据
超时 断点卡太久

九、我的推荐组合 ✅

日常开发:

本地直连 + IDEA 双窗口 + DEBUG

排问题:

Arthas + QOS

联调:

Mock + 日志


如果你愿意,可以告诉我:

  • Dubbo 版本(2.6 / 2.7 / 3.x)
  • 是否用 Spring Boot
  • 是否连 Zookeeper / Nacos

我可以直接给你一套可复制的配置模板。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手