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的例子的更多相关文章

  1. 【Spring】简单的Spring MVC入门例子

    前言 测试特性需要搭建一个简单的Spring MVC的例子,遂记录之,只是例子,只为入门者之示例. 版本说明 声明POM文件,指定需引入的JAR. <properties> <spr ...

  2. rabbitMQ第二篇:java简单的实现RabbitMQ

    前言:在这里我将用java来简单的实现rabbitMQ.下面我们带着下面问题来一步步的了解和学习rabbitMQ. 1:如果消费者连接中断,这期间我们应该怎么办 2:如何做到负载均衡 3:如何有效的将 ...

  3. 最简单的基于libVLC的例子:最简单的基于libVLC的推流器

    ===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...

  4. 最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器(图形界面版)

    ===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...

  5. 一个简单的Object Hook的例子(win7 32bit)

    Object Hook简单的来说就是Hook对象,这里拿看雪上的一个例子,因为是在win7 32位上的,有些地方做了些修改. _OBJECT_HEADER: kd> dt _OBJECT_HEA ...

  6. 一个简单的Spring测试的例子

    在做测试的时候我们用到Junit Case,当我们的项目中使用了Sring的时候,我们应该怎么使用spring容器去管理我的测试用例呢?现在我们用一个简单的例子来展示这个过程. 1 首先我们新建一个普 ...

  7. 2、Lucene 最简单的使用(小例子)

    在了解了Lucene以后,我打算亲手来做一个Lucene的小例子,这个例子只是Lucene最简单的应用:使用Lucene实现标准的英文搜索: 1.下载Lucene 下载Lucene,到Lucene的官 ...

  8. pywinauto简单操作写字板的例子

    前段时间写了做web程序界面自动化的简单例子,今天写一下windows gui程序界面自动化测例子吧. ps.咱中国人YinKaisheng封装的UIAutomation库也很好用,https://g ...

  9. CSS布局中一个简单的应用BFC的例子

    什么是BFC BFC(Block Formatting Context),简单讲,它是提供了一个独立布局的环境,每个BFC都遵守同一套布局规则.例如,在同一个BFC内,盒子会一个挨着一个的排,相邻盒子 ...

随机推荐

  1. python的编解码问题

    http://blog.chinaunix.net/uid-27838438-id-4227131.html

  2. vmem驱动设备

    vmem是内存多字符设备.包含vfs的open.read.write.ioctl.poll.fasync和release函数,device文件的读写. virtual_mem.c #include & ...

  3. BZOJ1999 树网的核[数据加强版]

    1999: [Noip2007]Core树网的核 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1214  Solved: 336[Submit][St ...

  4. Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ext JS之验证码

    验证码这东西,有人喜欢有人不喜欢.对于WebApi是否需要验证码,没去研究过,只是原来的SimpleCMS有,就加上吧. 在WeiApi上使用验证码,关键的地方在于WeiApi是没有状态的,也就是说, ...

  5. 一个分类,两个问题之ArrayList

    前段时间,在做一个商品的分类,分类有3级,类似于以下这种形式的: ---食物 ---蔬菜 ---白菜 ---材料 ---鸡肉 ....... 而我需要做的是将取得的一个商品的字符串类型的分类ID集,然 ...

  6. 差分IO标准

    差分标准 和单端IO不同的是,差分电平使用两根信号线来传达信号,这两根信号线在传输过程中如果遇到同样的噪声源(共模噪声)干扰,在接收端,这样的共模噪声会在两个信号相减时消除,这样并不会给接收电平造成影 ...

  7. 【转】 Pro Android学习笔记(七八):服务(3):远程服务:AIDL文件

    目录(?)[-] 在AIDL中定义服务接口 根据AIDL文件自动生成接口代码 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.n ...

  8. 线程及同步的性能 – 线程池/ ThreadPoolExecutors/ ForkJoinPool

    线程池和ThreadPoolExecutors 虽然在程序中可以直接使用Thread类型来进行线程操作,但是更多的情况是使用线程池,尤其是在Java EE应用服务器中,一般会使用若干个线程池来处理来自 ...

  9. 使用Spring AMQP开发消费者应用

    前一篇中我们介绍了使用RabbitMQ Java Client访问RabbitMQ的方法.但是使用这种方式访问RabbitMQ,开发者在程序中需要自己管理Connection,Channel对象,Co ...

  10. 杂项-IIS:发布杂项

    ylbtech-杂项-IIS:发布杂项 1. 测试连接返回顶部 1.1.授权 无法验证对路径的访问. 1.2.详情信息 服务器配置为将传递身份验证和内置帐户一起使用,以访问指定的物理路径.但是,IIS ...