首页 > 其他分享 >spring--集成RocketMQ

spring--集成RocketMQ

时间:2024-01-21 19:11:43浏览次数:26  
标签:group -- spring Boot topic message public RocketMQ

在Spring Boot中集成RocketMQ通常涉及以下步骤:

  1. 添加依赖:首先,需要在项目的pom.xml文件中添加RocketMQ的Spring Boot Starter依赖。
<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.2.0</version> <!-- 使用适合你项目的版本 -->
</dependency>

确保使用与你的Spring Boot版本兼容的RocketMQ Starter版本。

  1. 配置属性:在application.propertiesapplication.yml文件中配置RocketMQ的属性,例如名称服务器地址、生产者、消费者等。

例如,application.yml中的配置可能如下:

rocketmq:
  name-server: 127.0.0.1:9876 # RocketMQ nameserver地址
  producer:
    group: my-producer-group # 生产者组
  consumer:
    group: my-consumer-group # 消费者组
    subscribe:
      - topic: test-topic # 订阅的主题
        expression: "*" # 消息选择表达式
  1. 创建生产者:在Spring Boot应用中创建一个生产者bean,用于发送消息。
@Service
public class MyProducer {
    @Autowired
    private RocketMQTemplate rocketMQTemplate;

    public void send(String topic, String message) {
        rocketMQTemplate.convertAndSend(topic, message);
    }
}
  1. 创建消费者:定义一个消费者方法,并使用@RocketMQMessageListener注解来监听特定的主题和选择器。
@Service
@RocketMQMessageListener(topic = "test-topic", consumerGroup = "my-consumer-group")
public class MyConsumer implements RocketMQListener<String> {
    @Override
    public void onMessage(String message) {
        System.out.println("Received message: " + message);
    }
}
  1. 启动类注解:确保你的主启动类上有@EnableRocketMQ注解,以启用RocketMQ自动配置。
@SpringBootApplication
@EnableRocketMQ
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}
  1. 启动应用:运行你的Spring Boot应用,生产者和消费者应该会开始工作,发送和接收消息。

请注意,具体的配置和代码可能会根据你的需求和RocketMQ版本的不同而有所变化。务必查阅最新的RocketMQ官方文档以获取最新的信息和最佳实践。同时,确保RocketMQ的NameServer和Broker服务是可访问的,这对于集成是必要的。

标签:group,--,spring,Boot,topic,message,public,RocketMQ
From: https://www.cnblogs.com/xylfjk/p/17978183

相关文章

  • 一.RAID原理总结raid0,1,5,10,01的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。RAID等级最少硬盘最大容错可用容量读取性能写入性能安全性目的应用场景单一硬盘(参考)0111无JBOD10n11无(同RAID0)增加容量个人(暂时)存储备份0......
  • 对CF1904C的代码优化
    https://www.luogu.com.cn/problem/CF1904C分讨,然后\(k=2\)的时候肯定要写暴力,但是我的暴力很不优雅。石山voidsolve(){intn,k;cin>>n>>k;vector<ll>a(n+1);for(inti=1;i<=n;i++)cin>>a[i];if(k>=3){......
  • P5362 [SDOI2019] 连续子序列 题解--zhengjun
    题面传送门提供一种和其他题解完全不同的解法。记\(P_0\)为题中给出的序列,\(P_1\)为\(P_0\)取反的结果。记\(S_{l\simr}\)表示\(S_lS_{l+1}\dotsS_{r}\)。方便起见,\(P\)下标从\(0\)开始,其余的串都是从\(1\)开始。这里用\(P_{0,i}=\operatorname{popcount(i)}......
  • CF-915-F-并查集
    915-F题目大意给定一棵\(n\)个节点的树,节点带权,设函数\(I(x,y)\)等于点\(x\)到点\(y\)的路径上最大的点权与最小的点权之差。求:\[\sum_{i=1}^{n}\sum_{j=i}^{n}I(i,j)\]Solution令函数\(F(i,j)\)等于点\(x\)到点\(y\)的路径上最大的点权,函数\(G(i,j)\)等于点\(x\)到点\(y\)......
  • 设计模式—行为型模式之观察者模式
    设计模式—行为型模式之观察者模式观察者模式(ObserverPattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模......
  • Github图床搭建,结合Picgo与jsdelivr的免费cdn加速,以及部分问题解决方案
    留份文档,便于后续查询===================用到的地址:Github:GitHubPicgo:PicGoisHere|PicGojsdelivr加速地址:https://cdn.jsdelivr.net/gh/Github用户名/仓库名@master===================1.创建一个GitHub仓库:进入你的GitHub首页,在右上角你会找到一个➕,在下拉菜单中......
  • Idea快捷键
    第1组:通用型说明快捷键--------------------------------复制代码-copyctrl+c粘贴-pastectrl+v剪切-cutctrl+x撤销-undoctrl+z反撤销-redoctrl+shift+z保存-saveallctrl+s全选-selectallctrl+a第2组:提高......
  • 在Markdown中使用mermaid画图之流程图
    流程图流程图由流程图方向、节点、节点形状、节点间关系构成声明流程图flowchartLR//flowchart声明为流程图、LR确定流程图从左至右的方向 id1[test1]//id--创建出一个节点、括号内为该节点显示的内容 id2[test2] id3[test3]流程图的方向有以下几种选择:TB-从上到......
  • docker镜像管理
    1.查看镜像[root@centos201~]#dockerimagels#查看现有的镜像列表。REPOSITORYTAGIMAGEIDCREATEDSIZEhello-worldlatestfeb5d9fea6a520monthsago13.3kB[root@centos201~]#[root@centos201~]#[root@centos201~]#doc......
  • P7192 [COCI2007-2008#6] GEORGE 题解
    题目简述给定一张$n$个点$m$条边的无向图,从$u_i\rightarrowv_i$需要用时$w_i$分钟。有一位T先生从$0$时刻按有$g$个点的序列顺序移动,即$v_1\rightarrowv_2\rightarrow\cdots\rightarrowv_g$。还有一位卡车司机Luka从$k$时刻开始从$a$点出发,Luka不......