手动修改Producer.java代码,重启Producer成功,但不起作用

发布于 2021-12-02 02:50:09 字数 646 浏览 832 评论 2

@tantexian 你好,想跟你请教个问题:

问题背景:您好,最近在做RocketMQ相关的研究。拜读了您很多关于RocketMQ的文章。目前情况是能基本理解它的大致架构,单机和集群的环境我也都搭建成功过。

问题:目前我手动修改Producer.java的代码,再启动Producer角色不起作用。

问题描述:我想修改Producer.java的文件,比如修改producer group name,或添加修改topic的值,再使用 ./tools.sh com.xx.xxx.Producer 启动消费者。但是控制台里查看producer的name 和 发送的topic都未改变,仍是之前的值。翻找原因后,我认为是tools.sh启动的都是已编译好的class文件,如Producer.class,所以我直接修改Producer.java,没有重新编译,所以不起作用。但是我思前想后也未找出重新编译的方法,不知我这理解是否正确。另外如果想达到我的目的(修改groupname/topic)应该如果做呢?

附:刚看您在线上,便想询问下缘由。我的java基础不多,可能由基础不好而产生了此疑惑,也烦请您有空后解答,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倾城泪 2021-12-03 00:29:22

谢谢您!的确是我的理解偏差,最后发现tools.sh调用的直接是已经封装好的jar包,所以单纯的修改无法起效。找了2个方法,1:修改后重编译替换/lib/rocketmq-example-xxx.jar包。2:aliyun找api 或sdk直接调用获得想要的结果。

拥有 2021-12-02 14:55:01

正常不会有你说的class问题,应该还是你自己使用问题。tools.sh 直接使用的java命令,是能生效的,或者你自己写个简单demo研究下,就清楚了~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文