手动修改Producer.java代码,重启Producer成功,但不起作用
@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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
谢谢您!的确是我的理解偏差,最后发现tools.sh调用的直接是已经封装好的jar包,所以单纯的修改无法起效。找了2个方法,1:修改后重编译替换/lib/rocketmq-example-xxx.jar包。2:aliyun找api 或sdk直接调用获得想要的结果。
正常不会有你说的class问题,应该还是你自己使用问题。tools.sh 直接使用的java命令,是能生效的,或者你自己写个简单demo研究下,就清楚了~