Springboot整合RocketMQ,RoketMQTemplate

目前个人的博客多是技术的使用,并没有怎么深入原理.后面弄懂了会专门写一篇详细的消息模式

自己写了一个小案例,用到了redis,腾讯云短信发送,rocketmq.mybatisplus
这里就只讲rockermq
在这里插入图片描述

先导入maven依赖

        <!--rocketmq-->
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-client</artifactId>
            <version>4.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-common</artifactId>
            <version>4.5.1</version>
        </dependency>

yml文件的配置(不太清楚,为什么下面的灰色了)

mybatis-plus:
  #mybatis的sql语句映射文件位置
  mapper-locations: classpath:/mapper/*.xml
  #mybatisPlus对应的实体类
  type-aliases-package: com.yxt.pojo
  configuration:
    #打印mybatisPlus的执行sql语句
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
rocketmq:
  #mq的地址
  name-server: 1.116.130.252:9876
  producer:
    #生产组
    group: my-group

controller层,这是也是消息的生产者

@Slf4j
@RestController
@RequestMapping("bb")
public class UserController {
    @Resource
    private UserService userService;
    @Resource
    RedisTemplate redisTemplate;
    @Resource
    RocketMQTemplate rocketMQTemplate;

    @GetMapping("bb")
    public void bb() {
        log.info("bb方法要执行了");
        List<User> list = userService.list();
        //唯一消息消费 "list"是topic
        rocketMQTemplate.convertAndSend("list",list);
        //短信发送
        //rocketMQTemplate.convertAndSend("sms","13063285766");
        //String code = (String) redisTemplate.opsForValue().get("code");
        //System.out.println(code);
        //userService.aa();
    }


}

消息消费

@Slf4j
@Component
//topic必须一样
@RocketMQMessageListener(topic = "list",consumerGroup = "my_sms",selectorExpression = "*")
public class RockerMQSMS implements RocketMQListener<List> {
    @Resource
    SendSms sendSms;
    @Override
    public void onMessage(List s) {
        //sendSms.SMS(s);
        System.out.println(s);
        log.info("sms:{}",s);
    }
}

RocketMQSMS和RocketMQSMS2的代码是一样的,但是他们只有个能获取到消息.并且是随机的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值