JAVA全系列 教程
3762个小节阅读:7095.6k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
创建itbaizhan-rocketmq工程
添加依赖
在pom.xml文件中添加依赖
xxxxxxxxxx
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
xxxxxxxxxx
spring:
application:
# 应用名字
name: springboot_rocketmq_producer
xxxxxxxxxx
package com.itbaizhan.sendmessage;
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;
/**
* 1、发送普通消息
* 普通消息,也叫并发消息,是发送效率最高、使用场景最多的一类消息。
*/
@Slf4j
public class SimpleTest {
@Test
public void producer() throws MQClientException, MQBrokerException, RemotingException, InterruptedException {
DefaultMQProducer producer = new DefaultMQProducer("SyncProducer");
producer.setNamesrvAddr("192.168.47.100:9876");
producer.start();
for (int i = 0; i < 10; i++) {
Message message = new Message("TestTopic", "Tags", (i + "_syncProducer").getBytes(StandardCharsets.UTF_8));
SendResult send = producer.send(message);
System.out.println(i + "消息发送成功:" + send);
}
producer.shutdown();
}
@Test
public void consumer() throws MQClientException, InterruptedException {
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("simpleconsmer");
consumer.setNamesrvAddr("192.168.47.100:9876");
consumer.subscribe("TestTopic","*");
consumer.setMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {
list.forEach( n -> {
System.out.println("消费成功" + n);
});
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
});
consumer.start();
Thread.sleep(Long.MAX_VALUE);
}
}