前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RocketMQ入门篇-三分钟入门RocketMQ

RocketMQ入门篇-三分钟入门RocketMQ

作者头像
用户7386338
发布2020-05-29 11:10:48
6560
发布2020-05-29 11:10:48
举报
文章被收录于专栏:Java患者

RocketMQ入门Demo

首先在window中安装好RocketMQ

依赖
代码语言:javascript
复制
<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-client</artifactId>
    <version>4.3.0</version>
</dependency>
生产者
代码语言:javascript
复制
package com.zero.day1;

import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;

public class SyncProducerDemo {

    public static void main(String[] args) {
        DefaultMQProducer producer = null;
        try {
            producer = new DefaultMQProducer("TopicTst");
            producer.setNamesrvAddr("127.0.0.1:9876");

            producer.start();

            for (int i = 0; i < 100; i++) {
                Message msg = new Message("TopicTst", "TagA", "Hello RocketMQ".getBytes(RemotingHelper.DEFAULT_CHARSET));
                SendResult sendResult = producer.send(msg);
                System.out.println("返回内容" + sendResult);

            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            producer.shutdown();
        }

    }
}
消费者
代码语言:javascript
复制
package com.zero.day1;

import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.common.message.MessageExt;

import java.util.List;

public class ConsumerDemo {

    public static void main(String[] args) {
        try{
            DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("TopicTst");
            consumer.setNamesrvAddr("127.0.0.1:9876");

            consumer.subscribe("TopicTst", "*");
            consumer.registerMessageListener(new MessageListenerConcurrently() {
                public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {
                    System.out.println("Receive: " + list);
                    return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
                }
            });
            consumer.start();
        }catch (Exception e) {
            e.printStackTrace();
        }


    }
}
启动
可能出现的错误
代码语言:javascript
复制
org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest

自动创建Topic失败了,改成手动创建topic

代码语言:javascript
复制
mqadmin updateTopic -b 127.0.0.1:10911 -n 127.0.0.1:9876 -t TopicTest

或者改成自动创建Topic

代码语言:javascript
复制
Window: mqbroker.cmd -n localhost:9876 autoCreateTopicEnable=true
Linux:nohup sh mqbroker -n 192.168.180.133:9876 autoCreateTopicEnable=true
插件部署
安装

在window安装RocketMQ插件

首先git下载文件 地址:https://github.com/apache/rocketmq-externals.git

配置

下载之后 今日rocketmq-console\src\main\resource 修改application.properties文件

编译启动

进入rocketmq-console

执行

代码语言:javascript
复制
mvn clean package -Dmaven.test.skip=true
启动后台

在target目录下 执行

代码语言:javascript
复制
java -jar rocketmq-console-ng-1.0.0.jar

启动浏览器 输入127.0.0.1:8001

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java患者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 依赖
  • 生产者
  • 消费者
  • 启动
  • 可能出现的错误
  • 插件部署
    • 安装
      • 配置
        • 编译启动
          • 启动后台
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档