当前位置: 首页 > news >正文

SpringCloudAlibaba:6.2RocketMQ的普通消息的使用

简介

普通消息也叫并发消息,是发送效率最高,使用最多的一种

依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>java_sc_alibaba</artifactId><groupId>jkw.life</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>test-rocketmq8009</artifactId><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- rocketmq--><dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>5.1.0</version></dependency><!-- SpringMVC--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- test--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency></dependencies></project>

创建topic

mqadmin updateTopic -n localhost:9876 -c DefaultCluster -t testtopic

测试类

package send_message;import lombok.extern.slf4j.Slf4j;
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.MQBrokerException;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.remoting.exception.RemotingException;
import org.junit.Test;
import java.nio.charset.StandardCharsets;
import java.util.List;
@Slf4j
public class Test_01 {/*** 消息生成者【普通消息】* 创建topic:* mqadmin updateTopic -n localhost:9876 -c DefaultCluster -t testtopic*/@Testpublic void producer() throws MQClientException, MQBrokerException, RemotingException, InterruptedException {//1.初始化生产者【生产者组名】DefaultMQProducer producer = new DefaultMQProducer("SyncProducer");//2.rocketmq地址producer.setNamesrvAddr("192.168.66.101:9876");//3.启动生产者producer.start();for (int i = 0; i < 10; i++) {//4.初始化消息对象【topic主题/标记过滤/消息体】Message message = new Message("testtopic", "Tags", (i + "_syncProducer").getBytes(StandardCharsets.UTF_8));//5.生产者发送消息SendResult send = producer.send(message);System.out.println(i + "消息发送成功:" + send);}//6.关闭生产者producer.shutdown();}/*** 消费者*/@Testpublic void consumer() throws MQClientException, InterruptedException {//1.初始化消费者【消费者组名】DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("SyncProducer");//2.rocketmq地址consumer.setNamesrvAddr("192.168.66.101:9876");//3.订阅主题consumer.subscribe("testtopic", "*");//4.监听消息consumer.setMessageListener(new MessageListenerConcurrently() {@Overridepublic ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {for (MessageExt msg : list) {System.out.println("消费成功" + msg);}return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;//消费成功}});//5.启动消费者consumer.start();//6.永远运行下去Thread.sleep(Long.MAX_VALUE);}
}

http://www.lryc.cn/news/354718.html

相关文章:

  • vue+echart :点击趋势图中的某一点或是柱状图,出现弹窗,并传输数据
  • 2024年上半年软考什么时候查成绩?附查询流程
  • css3实现0.5px边框
  • U-Net网络
  • 不拍视频,不直播怎么在视频号卖货赚钱?开一个它就好了!
  • 【vue-5】双向数据绑定v-model及修饰符
  • [STM32-HAL库]AS608-指纹识别模块-STM32CUBEMX开发-HAL库开发系列-主控STM32F103C8T6
  • 【java程序设计期末复习】chapter4 类和对象
  • ios:Command PhaseScriptExecution failed with a nonzero exit code
  • 《拯救大学生课设不挂科第四期之蓝桥杯是什么?我是否要参加蓝桥杯?选择何种语言?如何科学备赛?方法思维教程》【官方笔记】
  • 数据挖掘案例-航空公司客户价值分析
  • 决策树与机器学习实战【代码为主】
  • 从感知机到神经网络
  • 【HMGD】STM32/GD32 I2C DMA 主从通信
  • leecode 226 翻转二叉树、101 对称二叉树、104 二叉树的最大深度
  • Redux基础
  • 国外目标公司的任何一个联系人也许都有意义
  • 因为本地证书太旧或不全导致的 HTTPS 访问失败问题20240520
  • Lua获取表的长度
  • python九九乘法表的打印思考及实现
  • 2.Spring中用到的设计模式
  • .NET调用阿里云人脸核身服务端 (ExecuteServerSideVerification)简易流程保姆级教学
  • [大师C语言(第十二篇)]C语言堆排序技术详解
  • Activity启动流程要点
  • lua 计算第几周
  • 负载均衡策略
  • 海外网红营销新趋势:“快闪式”营销如何迅速提升品牌曝光度
  • 速看!打造专属数字化能力模型的七大关键!
  • 青蛙跳台阶问题
  • linux日常运维2