建立maven项目,导入下面依赖
<!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-client -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.6.1</version>
</dependency>
保证已在服务器启动nameserver和broker,强烈推荐读者使用上文提到的网页版UI观察消息队列状态,下面展示三种发送生产消费的方法:
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
/**
* 消息发送者Producer
*
* @author Song X.
* @date 2020/03/02
*/
public class Producer_Sync {
public static void main(String[] args) throws Exception {
//创建生产者组
DefaultMQProducer producer = new DefaultMQProducer("ProducerGroup01");
//设置nameserver地址,如1.1.1.1:9876
producer.setNamesrvAddr("enter the addr of nameserver");
//启动producer
producer.start();
//topic消息将要发往的地址
//body是真正的消息体
Message msg = new Message("myTopic001", "RocketMQ 第一条消息".getBytes());
//同步阻塞式发消息,也就是发送完消息,必须等broker返回一个发送成功的消息,才会做其他事
//这种方式消息发送的安全性可以得到保证,但是同步阻塞必定慢
SendResult sendResult = producer.