译: 1. RabbitMQ Spring AMQP 之 Hello World

本文是译文,原文请访问:http://www.rabbitmq.com/tutorials/tutorial-one-spring-amqp.html

RabbitMQ 是一个Brocker (消息队列服务器),它接受和转发消息 .

你可以将它当做邮局:

当你将要发布的邮件放在邮箱中时,您可以确定邮件先生或Mailperson女士最终会将邮件发送给您的收件人。在这个比喻中,RabbitMQ是邮箱,邮局和邮递员。

RabbitMQ和邮局之间的主要区别在于它不处理信纸,而是接受,存储和转发二进制大对象  blob(binary large object )数据 ——消息

RabbitMQ和一般的消息传递使用了一些术语

1. 生产者

生产者仅仅只是发送。一个发送消息的程序就是生产者:

2. 队列

队列是RabbitMQ中的邮箱的名称。虽然消息流经RabbitMQ和您的应用程序,但它们只能存储在队列中。甲队列仅由主机的存储器和磁盘限制约束,它本质上是一个大的消息缓冲器。

许多生产者可以发送到一个队列的消息,并且许多消费者可以尝试从一个队列接收数据。这就是我们代表队列的方式:

3. 消费者

消费这与生产者有类似的意义。一个消费者是一个程序,主要是等待接收信息:

请注意,生产者,消费者和代理不必驻留在同一主机上; 实际上在大多数应用中他们没有。应用程序既可以是生产者也可以是消费者。

"Hello World"

(使用 spring-amqp client)

在本教程的这一部分中,我们将使用spring-amqp库编写两个程序; 发送单个消息的生产者,以及接收消息并将其打印出来的消费者。

我们将掩盖Spring-amqp API中的一些细节,专注于这个非常简单的事情才开始。它是消息传递的“Hello World”。

在下图中,“P”是我们的生产者,“C”是我们的消费者。中间的框是一个队列 - RabbitMQ代表消费者保留的消息缓冲区。

Spring AMQP框架

RabbitMQ说多种协议。本教程使用AMQP 0-9-1,它是一种开放的,通用的消息传递协议。RabbitMQ有许多不同语言的客户端 。

Spring AMQP利用Spring Boot进行配置和依赖管理。Spring支持maven或gradle,但在本教程中,我们将选择带有Spring Boot 1.5.2的maven

打开 http://start.spring.io/

提供:

  • group id (列如: org.springframework.amqp.tutorials)
  • artifact id (e.g. rabbitmq-amqp-tutorials)
  • 搜索 RabbitMQ依赖,然后选择 RabbitMQ 依赖

生成项目并将生成的项目解压缩到您选择的位置。

现在可以将其导入您喜欢的IDE中。或者,您可以从您喜欢的编辑器处理它。

原文地址:https://www.cnblogs.com/xingyunblog/p/9773525.html

时间: 2024-10-10 05:41:31

译: 1. RabbitMQ Spring AMQP 之 Hello World的相关文章

spring amqp rabbitmq fanout配置

基于spring amqp rabbitmq fanout配置如下: 发布端 <rabbit:connection-factory id="rabbitConnectionFactory" username="guest" password="guest" host="localhost" port="5672"/> <rabbit:template id="amqpTempla

Spring AMQP 发送消息到 RabbitMQ 收到 x-queue-type 错误

在使用 Spring AMQP 发送消息到 RabbitMQ 的时候收到错误信息: inequivalent arg 'x-queue-type' for queue 'com.ossez.real.estate' in vhost '/': received none but current is the value 'classic' of type 'longstr', class-id=50, method-id=10 上面的错误信息已经很明显了,说明的是发送消息的队列参数中少了 x-q

Spring AMQP 源码分析 05 - 异常处理

### 准备 ## 目标 了解 Spring AMQP Message Listener 如何处理异常 ## 前置知识 <Spring AMQP 源码分析 04 - MessageListener> ## 相关资源 Offical doc:<http://docs.spring.io/spring-amqp/docs/1.7.3.RELEASE/reference/html/_reference.html#exception-handling> Sample code:<ht

Spring AMQP 源码分析 07 - MessageListenerAdapter

### 准备 ## 目标 了解 Spring AMQP 如何用 POJO 处理消息 ## 前置知识 <Spring AMQP 源码分析 04 - MessageListener> ## 相关资源 Offical doc:<http://docs.spring.io/spring-amqp/docs/1.7.3.RELEASE/reference/html/_reference.html#message-listener-adapter> Sample code:<https:

Spring AMQP 源码分析 06 - 手动消息确认

### 准备 ## 目标 了解 Spring AMQP 如何手动确认消息已成功消费 ## 前置知识 <Spring AMQP 源码分析 04 - MessageListener> ## 相关资源 Offical doc:<http://docs.spring.io/spring-amqp/docs/1.7.3.RELEASE/reference/html/_reference.html#message-listener-adapter> Sample code:<https:

Spring AMQP 源码分析 08 - XML 配置

### 准备 ## 目标 通过 XML 配置文件使用 Spring AMQP ## 前置知识 <Spring AMQP 源码分析 07 - MessageListenerAdapter> ## 相关资源 Sample code:<https://github.com/gordonklg/study>,rabbitmq module 源码版本:Spring AMQP 1.7.3.RELEASE ## 测试代码 gordon.study.rabbitmq.springamqp.XmlC

Spring AMQP 源码分析 04 - MessageListener

### 准备 ## 目标 了解 Spring AMQP 如何实现异步消息投递(推模式) ## 前置知识 <RabbitMQ入门_05_多线程消费同一队列> ## 相关资源 Quick Tour for the impatient:<http://docs.spring.io/spring-amqp/docs/1.7.3.RELEASE/reference/html/_reference.html#async-consumer> Sample code:<https://git

Spring AMQP 源码分析 01 - Impatient

### 准备 ## 目标 了解 Spring AMQP 核心代码 ## 前置知识 RabbitMQ 入门 ## 相关资源 Quick Tour for the impatient:<http://docs.spring.io/spring-amqp/docs/1.7.3.RELEASE/reference/html/_introduction.html#quick-tour> Sample code:<https://github.com/gordonklg/study>,rabb

035 spring amqp

一 .概述 本部分的主要的内容都是从spring amqp的官文档之中摘录过来的. 二 .spring amqp的抽象 [1] 消息 : 在spring amqp之中,使用Message来抽象消息的内容. public class Message { private final MessageProperties messageProperties; private final byte[] body; public Message(byte[] body, MessageProperties