SpringMVC集成RocketMQ手把手教程,亲身体验

这段时间项目上突然要说要用这个消息队列,所以得在项目上弄一下,而正好这个项目比较远古(ps:连boot项目都不是,就是个springmvc的项目,确实lj),没办法弄呗,所以先在本地先自己搭了个mvc的项目整合了下。

废话少说,直接进入正题,我本地是win10环境,首先先去下载安装rocketmq,去官网下载即可,
官网:https://rocketmq.apache.org/dowloading/releases/
选择windows环境的安装包下载即可,我选的是4.7.1的版本,下载解压的目录如图:
在这里插入图片描述
然后去配置环境变量,不然每次启动都需要指定ip,嫌麻烦的直接配置环境变量
ROCKETMQ_HOME D:\publicSoft\rocketmq\rocketmq-all-4.7.1
这里指定下mq的安装路径即可
在这里插入图片描述

还有这个
NAMESRV_ADDR 127.0.0.1:9876
在这里插入图片描述

然后再path里加上 %ROCKETMQ_HOME%\bin
在这里插入图片描述
接下来就可以去启动了,进入mq解压的路径,进入bin目录
可以通过命令行启动,我这里偷个懒直接双击启动了,注意先启动mqnamesrv再启动mqbroker
在这里插入图片描述
mqnamesrv窗口出现如下信息
在这里插入图片描述

mqbroker窗口出现如下信息
在这里插入图片描述
则表示两个服务启动成功了。

安装的ok了,接下来是重头戏:
首先先导入坐标:

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

在这里插入图片描述
配置文件里设置一下mq信息
在这里插入图片描述
新增一个生产者类:

package com.mq.producter;


import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.producer.DefaultMQProducer;

/**
 * @Auther: SPL
 * @Date: 2019-07-09 13:57
 * @Description: 初始化生产者
 */

public class RocketMQProducer {

    private DefaultMQProducer defaultMQProducer;
    private String producerGroup;
    private String namesrvAddr;

    /**
     * Spring bean init-method 初始化
     */
    public void init() throws MQClientException {
        // 参数信息
        System.out.println("DefaultMQProducer initialize!");
        System.out.println(producerGroup);
        System.out.println(namesrvAddr);

        // 初始化
        defaultMQProducer = new DefaultMQProducer(producerGroup);
        defaultMQProducer.setNamesrvAddr(namesrvAddr);
        defaultMQProducer.setInstanceName(String.valueOf(System
                .currentTimeMillis()));

        defaultMQProducer.start();
        System.out.println("DefaultMQProudcer start success!");
    }

    /**
     * Spring bean destroy-method
     */
    public void destroy() {
        defaultMQProducer.shutdown();
    }

    public DefaultMQProducer getDefaultMQProducer() {
        return defaultMQProducer;
    }

    // ---------------setter -----------------

    public void setProducerGroup(String producerGroup) {
        this.producerGroup = producerGroup;
    }

    public void setNamesrvAddr(String namesrvAddr) {
        this.namesrvAddr = namesrvAddr;
    }

}

新增消费者类:

package com.mq.consumer;

import com.alibaba.fastjson.JSON;
import com.mq.dto.OrgChangeDto;
import com.mq.dto.RelationChangeDto;
import com.mq.dto.RoleChangeDto;
import com.mq.dto.UserChangeDto;
import com.mq.service.UserSyncCallbackService;
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.client.exception.MQClientException;
import org.apache.rocketmq
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值