本文是作者原创,版权归作者所有.若要转载,请注明出处.

本文RocketMQ版本为rocketmq-all-4.7.0,系统为win10.请各位去官网下载,也可以留言,我发安装包

RocketMQ安装

(前置条件为已安装java并配置JAVA_HOME)

1.配置环境变量

2.切换到安装目录的bin文件夹下,启动mqnamesrv.cmd,如下图

命令

start mqnamesrv.cmd

看到如下窗口表示启动成功

3.启动bin目录下的mqbroker.cmd

命令:

start mqbroker.cmd -n 127.0.0.1:9876 -c ../conf/broker.conf

看到如下窗口表示启动成功

4.RocketMQ管理控制台部署(非必须,可跳过)

下载地址

https://github.com/apache/rocketmq-externals.git

下载完成之后,进入‘rocketmq-externals\rocketmq-console\src\main\resources’文件夹,打开‘application.properties’进行配置,如下

这里将启动端口改成8081,并填配置rocketmq的端口

127.0.0.1.9876

编译该控制台源码

进入‘\rocketmq-externals\rocketmq-console’文件夹,

执行下列命令,编译生成jar包

mvn clean package -Dmaven.test.skip=true

编译成功,看下图

进入‘target’文件夹,执行下列命令.启动jar包

java -jar rocketmq-console-ng-1.0.1.jar

浏览器中输入

http://127.0.0.1:8081/

成功后即可查看。

RocketMQ入门(官网demo)

1.消息消费者consumer

public static void main(String[] args) throws InterruptedException, MQClientException {

        // Instantiate with specified consumer group name.
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name"); // Specify name server addresses.
consumer.setNamesrvAddr("localhost:9876"); // Subscribe one more more topics to consume.
consumer.subscribe("TopicTest", "*");
// Register callback to execute on arrival of messages fetched from brokers.
consumer.registerMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
ConsumeConcurrentlyContext context) {
System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs);
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
}); //Launch the consumer instance.
consumer.start(); System.out.printf("Consumer Started.%n");
}

2.消息生产者/制造者

public static void main(String[] args) throws Exception {
//Instantiate with a producer group name.
DefaultMQProducer producer = new
DefaultMQProducer("please_rename_unique_group_name");
// Specify name server addresses.
producer.setNamesrvAddr("localhost:9876");
//Launch the instance.
producer.start();
for (int i = 0; i < 10; i++) {
//Create a message instance, specifying topic, tag and message body.
Message msg = new Message("TopicTest" /* Topic */,
"TagA" /* Tag */,
("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */
);
//Call send message to deliver message to one of brokers.
SendResult sendResult = producer.send(msg);
System.out.printf("%s%n", sendResult);
}
//Shut down once the producer instance is not longer in use.
producer.shutdown();
}

看下消费者的结果

最新文章

  1. Hibernate和IBatis对比
  2. ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(二) 实现聊天室连接
  3. Jquery Ajax 异步设置Table中某列的值
  4. UFLDL教程之(三)PCA and Whitening exercise
  5. Servlet中Web.xml的配置详解
  6. 大容量XFS异常处理
  7. 极化SAR图像基础知识(2)
  8. python面对对象(不全解)
  9. Linux c codeblock的使用(一):新建一个工程
  10. 去重和分类后缀asp、php等路径 用python3写的
  11. hex文件格式
  12. intellj(idea) 编译项目时在warnings 页签框里 报 “xxx包不存在” 或 “找不到符号” 或 “未结束的字符串字面值” 或 “需要)” 或 “需要;”等错误提示
  13. json与xml数据输出类
  14. 状态压缩+矩阵乘法hdu-4332-Constructing Chimney
  15. sqlserver 查询表中的主键、外键列及外键表,外表中的主键列
  16. (队列的应用5.3.2)POJ 2259 Team Queue(队列数组的使用)
  17. synchronized同步方法
  18. 老生常谈:++a与a--区别
  19. 【bzoj2563】 阿狸和桃子的游戏
  20. ACE_Select_Reactor_T 介绍 (2)

热门文章

  1. LTE无线网络优化简介
  2. Programmatically add an application to Windows Firewall
  3. Spring JDBC 框架使用JdbcTemplate 类的一个实例
  4. matlab 提示 Error using mex No supported compiler or SDK was found 错误的解决办法
  5. (2)通信中为什么要进行AMC?
  6. [hdu5203]计数水题
  7. [hdu3486]rmq+枚举优化
  8. shiro 实现自定义权限规则校验
  9. 【DevCloud &#183; 敏捷智库】如何拆分用户故事
  10. 函数的不同调用方式决定了this的指向不同