赞
踩
rocketMQ消息队列就是让java工程之间可以传递消息,不同与微服务,
1,注册中心springboot工程,会有网页
2,引入依赖
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
注意:这里犯了一个错,我直接复制的是注册中心工程springboot的父依赖,和这个starter不支持,要用新版本的,我用的是2.2.7
3,配置生产者
这就是个controller,请求这个路径就会发送firstM主题的内容为一个user对象的消息
核心为rocketMQtemplate自动配置的模板对象,它可以发各种消息
同步,异步,顺序,事务,延时,批量
自动配置的配置
就是指定一下哪个nameserver,写一个生产者组
server:
port: 10086
rocketmq:
name-server: 192.168.214.128:9876
# 生产者组没有用,但是必须得配置
producer:
group: wei-producer
4,配置消费者
消费者的话就实现一个监听器,指定好类型,上面注解指定上面主题以及消费者组,这个组同样没啥子用,但是得配,而且自动配置里面还没有,非得局部配置
//想要接受消息,这个类需要在容器中
@Component
//指定消费者组以及订阅哪个主题的消息
@RocketMQMessageListener(consumerGroup = "syncGroup",topic = "firstM")
public class MySyncCustomerGroup implements RocketMQListener<User> {
//上面实现接口指定接受消息类型的泛型,这边重写的这个方法的参数就是接受的消息
@Override
public void onMessage(User s) {
System.out.println(s);
}
}
@rocketMQmessageListenner这个注解还有一个参数,selectorExpression
配置
server:
port: 10087
rocketmq:
name-server: 192.168.214.128:9876
#消费者组在autoConfigration里面没有配置的,只能局部配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。