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

2021-08-17 15:13:01 +08:00
 odirus

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

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

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

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

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

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

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

1849 次点击
所在节点    分享发现
4 条回复
reliefe
2021-08-17 15:18:17 +08:00
有点意思。
fmumu
2021-08-18 17:10:06 +08:00
jrebel 热加载,然后利用 arthas 的 ognl 来调用方法做测试,妙啊
wolfie
2021-08-19 13:55:35 +08:00
这两个不是 Java 开发基本工具吗。
reliefe
2021-08-20 13:18:51 +08:00
@fmumu 非常妙,用了就停不下来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/796323

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX