IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> RocketMQ 入门使用(二) -> 正文阅读

[Java知识库]RocketMQ 入门使用(二)

RocketMQ 入门使用(二)

本文Rocket MQ 入门使用教程是在windows 10 环境下的

一、Rocket MQ下载、安装

1、下载

地址:http://rocketmq.apache.org/release_notes/release-notes-4.3.0/ ,选择Binary进行下载。

2、安装

1、解压已下载的压缩包,如下图所示。

2、配置环境变量ROCKETMQ_HOME,如下图所示。

3、修改配置文件,如下图所示。

进入RocketMQ安装目录下的conf目录,里面有一个broker.conf配置文件。在文件末尾添加两行。

二、启动服务

1、启动name server

在MQ安装目录的bin目录下进入CMD命令行,执行命令(或者双击mqnamesrv.cmd),启动nameserver,成功后会弹出提示框,不要关闭!

# 执行命令
start mqnamesrv.cmd

2、启动broker

在bin目录下cmd进入命令行模式,执行命令,启动broker,成功后不要关闭!

start mqbroker.cmd -n 127.0.0.1:9876 -c ../conf/broker.conf autoCreateTopicEnable=true 

三、web 管理界面部署

想配置一下RocketMQ的web管理页面,发现网上的资料都是之前版本的说明,导致无法成功配置。

发现https://github.com/apache/rocketmq-externals ,这个git项目上并没有找到rocketmq-console这个目录。

原来是转移到 rocketmq-dashboard 仓库了。

1、下载rocketmq-dashboard

rocketmq-dashboard仓库:https://github.com/apache/rocketmq-dashboard

2、编译打包

这里有一些坑,编译打包时可能会报错。需要把一些插件注释掉!

<artifactId>maven-compiler-plugin</artifactId>
<artifactId>maven-checkstyle-plugin</artifactId>
<artifactId>frontend-maven-plugin</artifactId>
<artifactId>maven-antrun-plugin</artifactId>

注释掉以上plugin后,就可以执行下面命令了。

mvn clean package -Dmaven.test.skip=true

3、启动web管理界面

执行命令:

java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

说明:在浏览器中输入 http://127.0.0.1:8888/#/ ,即可查看。

四、入门使用

1、pom 文件添加依赖

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-client</artifactId>
    <version>4.4.0</version>
</dependency>

2、消息生产者(发送消息)

发送消息步骤:

  1. 创建消息生产者, 指定生产者所属的组名。
  2. 指定Nameserver地址。
  3. 启动生产者。
  4. 创建消息对象,指定主题、标签和消息体。
  5. 发送消息。
  6. 关闭生产者。

代码如下:

package com.linhuaming.rocketmq.demo.producer;

import org.apache.rocketmq.client.exception.MQBrokerException;
import org.apache.rocketmq.client.exception.MQClientException;
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.exception.RemotingException;

import java.io.UnsupportedEncodingException;

/**
 * 消息生产者
 */
public class Producer {

    public static void main(String[] args) {
        // 1.创建一个生产者对象,并且指定一个生产者组
        DefaultMQProducer producer = new DefaultMQProducer("xiaolin-producer");
        // 2.指定mq服务器地址
        producer.setNamesrvAddr("127.0.0.1:9876");
        try {
            // 3.启动生产者
            producer.start();
            // 4.创建一个消息,参数分别为:主题、标签、消息体
            Message message = new Message("topic1","tag1","你好,我是消息2".getBytes("utf-8"));
            // 5.发送消息
            SendResult send = producer.send(message);
            System.out.printf("%s%n", send);
            // 6.关闭资源
            // producer.shutdown();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (MQClientException e) {
            e.printStackTrace();
        } catch (MQBrokerException e) {
            e.printStackTrace();
        } catch (RemotingException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}

3、消息消费者(接收消息)

接收消息步骤:

  1. 创建消息消费者, 指定消费者所属的组名。
  2. 指定Nameserver地址。
  3. 指定消费者订阅的主题和标签。
  4. 设置回调函数,编写处理消息的方法。
  5. 启动消息消费者。
package com.linhuaming.rocketmq.demo.producer;

import org.apache.rocketmq.client.exception.MQBrokerException;
import org.apache.rocketmq.client.exception.MQClientException;
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.exception.RemotingException;

import java.io.UnsupportedEncodingException;

/**
 * 消息生产者
 */
public class Producer {

    public static void main(String[] args) {
        // 1.创建一个生产者对象,并且指定一个生产者组
        DefaultMQProducer producer = new DefaultMQProducer("xiaolin-producer");
        // 2.指定mq服务器地址
        producer.setNamesrvAddr("127.0.0.1:9876");
        try {
            // 3.启动生产者
            producer.start();
            for(int i=0; i<10000000; i++){
                int num = i + 1;
                // 4.创建一个消息,参数分别为:主题、标签、消息体
                String sendContent = "你好,我是消息"+num;
                Message message = new Message("topic1","tag1",sendContent.getBytes("utf-8"));
                // 5.发送消息
                SendResult send = producer.send(message);
                System.out.printf("第"+num+"条消息:%s%n", send);
            }
            // 6.关闭资源
            producer.shutdown();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (MQClientException e) {
            e.printStackTrace();
        } catch (MQBrokerException e) {
            e.printStackTrace();
        } catch (RemotingException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}
  } catch (MQBrokerException e) {
        e.printStackTrace();
    } catch (RemotingException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

}


  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:22:16  更:2022-01-17 11:25:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:43:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码