V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
odirus
V2EX  ›  分享发现

分享通过“Arthas + JRebel” 提升 Java 开发效率

  •  
  •   odirus · 2021-08-17 15:13:01 +08:00 · 2019 次点击
    这是一个创建于 1199 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们在 Java 开发过程中下面的这些问题,也许你也会遇到,如果能够帮到你就太棒了,场景如下:

    1. 当写完一个 Dubbo Service 实现后,需要再写一些 Controller 代码(或者单元测试用例)才能够进行测试,比较浪费精力。

    2. 我们正在用 XXL-JOB 作为任务调度系统,开发时需要触发并测试某个任务,按理说可以在后台选择某台机器执行,但总会有一些原因触发不了本机的任务(例如我们遇到的网络问题、队列阻塞问题等),调试起来很累。

    3. 我们项目中有通过 RocketMQ 来作为消息队列系统,当需要测试某条消息时需要在 RocketMQ 后台 Push 一些测试消息才能够触发代码的执行,但订阅方可能多台机器在线,任务不一定会推送给我本机,测试起来就看运气。

    4. 修改一些超大型项目时,每次修改后都要重启几分钟,真的很浪费时间。

    针对上述问题,我们神奇地发现 Arhtas 与 JRebel 可以无缝地搭配起来,让 Java 开发也可以像写 JavaScript 一样流畅。Arhtas 可以让任何函数成为调试入口,不用再写一堆测试代码; JRebel 可以让开发变得更加流畅,两者配合使用的话效果最佳。

    整个方案中我们没有发明新东西,但通过这种组合关系,极大地提升了 Java 开发效率,希望可以帮助更多人。更多实践请参考 原文

    4 条回复    2021-08-20 13:18:51 +08:00
    reliefe
        1
    reliefe  
       2021-08-17 15:18:17 +08:00
    有点意思。
    fmumu
        2
    fmumu  
       2021-08-18 17:10:06 +08:00
    jrebel 热加载,然后利用 arthas 的 ognl 来调用方法做测试,妙啊
    wolfie
        3
    wolfie  
       2021-08-19 13:55:35 +08:00
    这两个不是 Java 开发基本工具吗。
    reliefe
        4
    reliefe  
       2021-08-20 13:18:51 +08:00
    @fmumu 非常妙,用了就停不下来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5435 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:55 · PVG 14:55 · LAX 22:55 · JFK 01:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.