简单的使用rabbitmq的例子
1.创建了两个项目 :
(1).spring_cloud_rabbitmq_send 消息发送者
(2).spring_cloud_rabbitmq_receive 消息接受者
2. 添加rabbitmq依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
3.编写具体的消息发送者
(1)配置application.yml
spring:
application:
name: rabbitmq-send
rabbitmq:
host: localhost
port: 5672
username: guest
password: guest
#不分配端口,默认使用8080
(2)创建rabbitmq配置类,添加一个名为hello的队列
/**
* @author liuboren
* @Title:Rabbit配置类
* @Description:
* @date 2018/6/27 14:57
*/
@Configuration
public class RabbitConfig {
public final static String QUEUE_NAME = "hello"; @Bean
public Queue helloQueue(){
return new Queue(QUEUE_NAME);
} }
(3)编写具体的发送组件
/**
* @author liuboren
* @Title:消息发送者
* @Description:
* @date 2018/6/27 14:40
*/
@Component
public class Sender { //通过注入的这个类来传递消息
@Autowired
private AmqpTemplate rabbitTemplate; public void send(){
String context = "hello"+ new Date();
System.out.println("Sender :"+ context); //hello为创建的队列名,context为发送的消息
this.rabbitTemplate.convertAndSend("hello",context);
} }
(4)创建一个访问接口,用以发送消息
/**
* @author liuboren
* @Title:发送消息的接口
* @Description:
* @date 2018/6/27 15:36
*/
@RestController
public class SendController { @Resource
private Sender sender; @GetMapping("send")
public String send(){
sender.send();
return "消息已发送..";
}
}
4. 编写具体的消息接受者
(1)application.yml
spring:
application:
name: rabbitmq-receive
rabbitmq:
host: localhost
port: 5672
username: guest
password: guest
server:
port: 8081
(2)编写消息接受者组件
/**
* @author liuboren
* @Title:消息接受者
* @Description:
* @date 2018/6/27 14:54
*/
@Component
//监听hello队列
@RabbitListener(queues = "hello")
public class Receive { //处理接受到的消息
@RabbitHandler
public void process(String hello){
System.out.println("Receiver:"+hello);
}
}
5. 测试
(1)启动消息发送者,多次访问http://localhost:8080/send

控制台输出:

注意这时候我们还没有启动消息接受者,所有发送的消息都在消息队列里面
可以访问 http://localhost:15672/ 查看rabbitmq的管理页面
我们可以看到消息队列里面有21条消息

(2)我们启动消息接受者应用
可以看到应用启动好以后,接收到了消息

我们再次访问http://localhost:15672

发现队列此时已经没有消息.
这样一个简单的RabbitMQ应用就完成了.
Github地址:https://github.com/liuboren0617/rabbit_demo
简单的使用rabbitmq的例子的更多相关文章
- 【Spring】简单的Spring MVC入门例子
前言 测试特性需要搭建一个简单的Spring MVC的例子,遂记录之,只是例子,只为入门者之示例. 版本说明 声明POM文件,指定需引入的JAR. <properties> <spr ...
- rabbitMQ第二篇:java简单的实现RabbitMQ
前言:在这里我将用java来简单的实现rabbitMQ.下面我们带着下面问题来一步步的了解和学习rabbitMQ. 1:如果消费者连接中断,这期间我们应该怎么办 2:如何做到负载均衡 3:如何有效的将 ...
- 最简单的基于libVLC的例子:最简单的基于libVLC的推流器
===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...
- 最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器(图形界面版)
===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...
- 一个简单的Object Hook的例子(win7 32bit)
Object Hook简单的来说就是Hook对象,这里拿看雪上的一个例子,因为是在win7 32位上的,有些地方做了些修改. _OBJECT_HEADER: kd> dt _OBJECT_HEA ...
- 一个简单的Spring测试的例子
在做测试的时候我们用到Junit Case,当我们的项目中使用了Sring的时候,我们应该怎么使用spring容器去管理我的测试用例呢?现在我们用一个简单的例子来展示这个过程. 1 首先我们新建一个普 ...
- 2、Lucene 最简单的使用(小例子)
在了解了Lucene以后,我打算亲手来做一个Lucene的小例子,这个例子只是Lucene最简单的应用:使用Lucene实现标准的英文搜索: 1.下载Lucene 下载Lucene,到Lucene的官 ...
- pywinauto简单操作写字板的例子
前段时间写了做web程序界面自动化的简单例子,今天写一下windows gui程序界面自动化测例子吧. ps.咱中国人YinKaisheng封装的UIAutomation库也很好用,https://g ...
- CSS布局中一个简单的应用BFC的例子
什么是BFC BFC(Block Formatting Context),简单讲,它是提供了一个独立布局的环境,每个BFC都遵守同一套布局规则.例如,在同一个BFC内,盒子会一个挨着一个的排,相邻盒子 ...
随机推荐
- 前端用户输入校验--基于JQ
<!DOCTYPE html> <html> <head> <title>用户输入校验</title> </head> < ...
- Linux 终端 忽略大小写
忘了在哪里看到的了,记录一下. 在-/.inputrc中加入一行 set completion-ignore-case on 搞定! 这样在终端输入.补全时就忽略大小写了.当然,Linux本身还是区分 ...
- Java实现Queue类
Java实现Queue类 import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Sc ...
- Pix mesa 自动化测试
最近在准备PIX的认证, 需要进行mesa测试. 但是Mesa的标准测试工具中没有针对PIX的TestCase, 只是提到NIST的web测试.路径为:http://pixpdqtests.nist. ...
- Set,Sorted Set相关命令操作,批量插入及管道,事务
Set SADD key member [member ...] 向key指定的set集合添加成员,次集合是排重的,从2.4版本后才支持添加多个如果key不存在则创建key以及set集合返回当前操作成 ...
- Spring 学习一 @Autowired
@Autowired Spring 2.5 引入了 @Autowired ,它可以对类成员变量.方法及构造函数进行标注,完成自动装配的工作. 通过 @Autowired的使用来消除 set ,get方 ...
- 升级 AngularJS 至 Angular
Victor Savkin 大神撰写了一系列文章详细介绍如何升级 AngularJS 应用: NgUpgrade in Depth Upgrade Shell Two Approaches to Up ...
- C Primer Plus学习笔记(四)- 运算符、表达式和语句
基本运算符 赋值运算符:= 在C语言中,=不是“相等”,而是赋值运算符,把左边的值赋给右边的变量 a = 2018; //把值2018赋给变量a 赋值表达式语句的目的是把值储存到内存位置上,用于储存值 ...
- 简单的windows作业管理(自己也没弄透彻)
先把代码贴出来,以后有时间再研究!简单的说,作业就相当于沙箱,可以使程序在一定范围内活动. #include "stdafx.h"#include "windows.h& ...
- centos6 安装teamviewer
wget http://www.teamviewer.com/download/teamviewer_linux.rpm yum -y install temviewerX.rpm 机器最好联网,能够 ...