window安装rocketmq,整合springboot

1.下载rocketmq

	下载地址:https://rocketmq.apache.org/

在这里插入图片描述

2.配置rocktmq环境

	path下配置【ROCKETMQ_HOME】,地址为你的安装地址

在这里插入图片描述

3.启动

在cmd窗口分别执行bin目录下的mqnamesrv.cmd和mqbroker.cmd,执行完之后会弹出新的窗口,都不要关闭,启动命令:start mqnamesrv.cmd,start mqbroker.cmd
ps:注意启动mqnamesrv.cmd,可能报找不到java的配置,那是因为java默认安装在c盘Program FIle下存在空格,需要把java环境换个没有空格的文件夹。直接把java的copy出来,放其他文件夹里面,然后配置环境修改下JAVA_HOME的地址。
在这里插入图片描述在这里插入图片描述

4.整合springboot

pom里面加入

		<dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

yml的配置

spring:
  application:
    name: rocketmq-web
server:
  port: 8091

rocketmq:
  name-server: 127.0.0.1:9876
  producer:
    group: ${spring.application.name}

发送到mq

 @Autowired
    private RocketMQTemplate rocketMQTemplate;

    @GetMapping("/tempSend")
    public void comsume() {
        //1.最简单 没有tag与key
//         SendResult sendResult =rocketMQTemplate.convertAndSend("TopicTest", "你好,啊偶尔");
        //2.添加tag key,message->org.springframework.messaging.Message;
//        rocketMQTemplate.convertAndSend("TopicTest:Tag2", "我是多个tag");//tag 可以再topic后面:加
//        Message message = MessageBuilder.withPayload("我是消息体").setHeader("KEYS", "2333").build();
//         SendResult sendResult =rocketMQTemplate.send("TopicTest:Tag4", message);
        //3.有返回的发送机制
        SendResult sendResult = rocketMQTemplate.syncSend("TopicTest:Tag1", "Tag1报错回滚");
        SendResult sendResult2 = rocketMQTemplate.syncSend("TopicTest:Tag1", "Tag1报错回滚2号");

        if (sendResult.getSendStatus() == SendStatus.SEND_OK) {
            log.info("成功");
        }
        //4.
//        rocketMQTemplate.sendMessageInTransaction()
        log.info("rocketmq发送消息成功");
    }

消费mq

@Component
@RocketMQMessageListener(topic = "TopicTest", consumerGroup = "rocketmq-web", selectorExpression = "Tag1||Tag2")//设置只消费 Tag1根Tag2
@Slf4j
public class Consumer implements RocketMQListener<String> {

    @Override
    public void onMessage(String message) {
        log.info("我收到消息了!消息内容为:" + message);
        throw new RuntimeException("异常");//故意抛出错误-会自动不ack,继续消费
    }
}

5.rocketmq可视化界面

git地址:https://github.com/apache/rocketmq-dashboard

直接拉下来启动就可以,如果修改默认的mq端口就需要跟着修改下配置

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值