RabbitMq基础版应用
时间:2020-04-17
本文章向大家介绍RabbitMq基础版应用,主要包括RabbitMq基础版应用使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一:Linux 环境安装
1. 安装erlang
1 yum install ncurses-devel 2 tar xf otp_src_21.3.tar.gz 3 ./configure --prefix=/usr/local/erlang --without- javac 4 编译 : make 5 安装:make install 6 cd /usr/local/erlang/bin : ./erl 7 退出erlang的shell:exit
2.安装RabbitMq
1 xz -d rabbitmq-server-generic-unix-3.8.3.tar.xz 2 tar xf rabbitmq-server-generic-unix-3.8.3.tar 3 安装依赖:yum install python -y 4 yum install xmlto -y 5 yum install python-simplejson -y 6 mv rabbitmq_server-3.8.3 /usr/local/rabbitmq 7 启动: cd /usr/local/rabbitmq/sbin : ./rabbitmaq-server 8 netstat -nap|grep 5672 9 查看进程:ps -ef | grep rabbit 10 关闭:./rabbitmqctl stop 11 12 修改环境变量:vi /etc/profile 13 export PATH = $PATH:/usr/local/ruby/bin:/usr/local/erlang/bin:/usr/localrabbitmq/sbin 14 环境变量生效:source /etc/profile 15 启动: rabbitmq-server
二:简单代码,测试应用
1.添加依赖:pom.xml
1 <!-- 11. rabbitmq --> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-starter-amqp</artifactId> 5 <version>2.1.6.RELEASE</version> 6 </dependency>
2.添加配置:application.properties
1 # 6. rabbitmq 相关配置 2 spring.rabbitmq.host=127.0.0.1 3 spring.rabbitmq.port=5672 4 spring.rabbitmq.username=guest 5 spring.rabbitmq.password=guest 6 spring.rabbitmq.virtual-host=/ 7 #\u6D88\u8D39\u8005\u6570\u91CF 8 spring.rabbitmq.listener.simple.concurrency= 10 9 spring.rabbitmq.listener.simple.max-concurrency= 10 10 #\u6D88\u8D39\u8005\u6BCF\u6B21\u4ECE\u961F\u5217\u83B7\u53D6\u7684\u6D88\u606F\u6570\u91CF 11 spring.rabbitmq.listener.simple.prefetch= 1 12 #\u6D88\u8D39\u8005\u81EA\u52A8\u542F\u52A8 13 spring.rabbitmq.listener.simple.auto-startup=true 14 #\u6D88\u8D39\u5931\u8D25\uFF0C\u81EA\u52A8\u91CD\u65B0\u5165\u961F 15 spring.rabbitmq.listener.simple.default-requeue-rejected= true 16 #\u542F\u7528\u53D1\u9001\u91CD\u8BD5 17 spring.rabbitmq.template.retry.enabled=true 18 spring.rabbitmq.template.retry.initial-interval=1000 19 spring.rabbitmq.template.retry.max-attempts=3 20 spring.rabbitmq.template.retry.max-interval=10000 21 spring.rabbitmq.template.retry.multiplier=1.0
3.消息发送端
1 @Service 2 public class RabbitMqSender { 3 4 private static Logger log = LoggerFactory.getLogger(RabbitMqSender.class); 5 6 @Autowired 7 private AmqpTemplate amqpTemplate; 8 9 public void send(Object message){ 10 String msg = CommonUtil.beanToString(message); 11 log.info("send message:"+msg); 12 amqpTemplate.convertAndSend(RabbitMqConfig.TEST_QUEUE, msg); 13 } 14 15 }
4.消息接收端
1 @Service 2 public class RabbitMqReceiver { 3 4 private static Logger log = LoggerFactory.getLogger(RabbitMqReceiver.class); 5 6 @RabbitListener(queues=RabbitMqConfig.TEST_QUEUE) 7 public void receive(String message){ 8 log.info("receive message:"+message); 9 } 10 11 }
5.配置类
1 @Configuration 2 public class RabbitMqConfig { 3 4 public static final String TEST_QUEUE = "test_queue"; 5 6 /** 7 * Direct模式 交换机Exchange 8 * */ 9 @Bean 10 public Queue queue() { 11 return new Queue(TEST_QUEUE, true); 12 } 13 14 }
6.控制层,测试类
1 @Controller 2 @RequestMapping("/demo") 3 public class SampleController { 4 5 @Autowired 6 private RabbitMqSender rabbitMqSender; 7 8 @RequestMapping("/testRabbitMq") 9 @ResponseBody 10 public Result<String> testRabbitMq(){ 11 12 String msg = "hello,This is test of RabbitMq." + new Date().toString(); 13 14 rabbitMqSender.send(msg); 15 return Result.success(msg); 16 } 17 }
原文地址:https://www.cnblogs.com/BenNiaoXianFei/p/12720994.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 知识卡片 文本分词
- 一看就懂的Tensorflow实战(TensorBoard基础篇)
- 一看就懂的Tensorflow实战(TensorBoard高级篇)
- 一看就懂的Tensorflow实战(LSTM)
- 给我半首歌的时间,给你说明白Immutable List
- 一看就懂的Tensorflow实战(GAN)
- 一看就懂的Tensorflow实战(DCGAN)
- VBA解压缩ZIP文件08——解压-没有压缩
- 一文教你搞懂C语言的Q格式
- 基础算法之排序算法
- C++核心准则E4,5:设计并构建不变量
- Selenium实际应用注入并执行Javascript语句
- 什么是Python的 “内存管理机制”
- 2020年手工webpack构建react项目,完美支持ssr,包括css和图片资源
- php中赋值、浅拷贝与深拷贝