RocketMQ 入门
来源:互联网 发布:oracle数据库同步软件 编辑:程序博客网 时间:2024/04/28 08:54
本文讲解前不久进入apache顶级项目的RocketMQ,几个简单的例子讲解如何搭建RocketMQ,以及发送消息,接受消息。
RocketMQ安装
RocketMQ的安装需要自行编译,接下来编译源码(本文下载源码放在windows系统D:\softwares\
目录下)
下载源码
git clone -b develop https://github.com/apache/rocketmq.git
编译
cd rocketmqmvn -Prelease-all -DskipTests clean install -U
启动rocketmq
cd distribution\target\apache-rocketmqset ROCKETMQ_HOME=D:\softwares\rocketmq\distribution\target\apache-rocketmqbin\mqnamesrv.cmd# 再开启一个cmd窗口,进入到D:\softwares\rocketmq\distribution\target\apache-rocketmqd:cd D:\softwares\rocketmq\distribution\target\apache-rocketmqset ROCKETMQ_HOME=D:\softwares\rocketmq\distribution\target\apache-rocketmqbin\mqbroker.cmd -n localhost:9876
mqnamesrv启动成功
mqbroker启动后无输出
PS:不要关闭两个窗口
下面开始代码,写发送消息,接受消息。
引入maven依赖
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.1.0-incubating</version></dependency>
发送消息
package org.xxz.test.mq;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.client.producer.SendStatus;import org.apache.rocketmq.common.message.Message;import org.apache.rocketmq.remoting.exception.RemotingException;public class ProducerTest { public static void main(String[] args) throws MQClientException, RemotingException, MQBrokerException, InterruptedException { DefaultMQProducer producer = new DefaultMQProducer("producerGroup"); producer.setNamesrvAddr("127.0.0.1:9876"); producer.start(); Message msg = new Message(); msg.setTopic("test"); msg.setBody("hello rocketmq".getBytes()); SendResult sendResult = producer.send(msg); if (sendResult.getSendStatus() == SendStatus.SEND_OK) { System.out.println("send msg ok..."); } producer.shutdown(); }}
接受消息
package org.xxz.test.mq;import java.nio.charset.StandardCharsets;import java.util.List;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.MQClientException;import org.apache.rocketmq.common.message.MessageExt;public class ConsumerTest { public static void main(String[] args) throws MQClientException { DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("consumerGroup"); consumer.setNamesrvAddr("127.0.0.1:9876"); consumer.subscribe("test", "*"); consumer.registerMessageListener(new MessageListenerConcurrently() { @Override public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) { try { for (MessageExt msg : msgs) { System.out.println(new String(msg.getBody(), StandardCharsets.UTF_8)); } } catch (Exception e) { return ConsumeConcurrentlyStatus.RECONSUME_LATER; } return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } }); consumer.start(); }}
就是这么简单,后续更精彩哦。。。
阅读全文
0 0
- RocketMQ入门
- RocketMQ入门
- RocketMQ入门
- RocketMQ 入门
- RocketMQ 入门
- RocketMQ入门(1)
- RocketMQ 入门部署
- RocketMQ(一)入门
- RocketMQ 入门使用详解
- rocketmq入门环境搭建
- rocketmq实战入门
- rocketmq入门(一)
- rocketmq入门使用
- rocketmq入门学习笔记
- 十分钟入门RocketMQ
- RocketMQ 快速入门
- RocketMQ快速入门
- 十分钟入门RocketMQ
- 安卓的那些事儿-anroid之http访问的简单方法
- spring源码学习之路---IOC初探(一)
- Java基础知识-4、循环结构
- [学习笔记]省选算法·高斯消元Gauss
- 几种任务调度的Java实现方法与比较
- RocketMQ 入门
- IDEA进行springmvc项目开发一
- java巩固路线
- 如何使notepad++自动保存
- GreenPlum
- C文件读写函数介绍
- RunTime.getRunTime().addShutdownHook用法
- JNI开发中链接各种类型的库的CMAKE文件写法。
- 三. 二维数组中的查找