Spring AMQP
The project consists of two parts; spring-amqp is the base abstraction, and spring-rabbit is the RabbitMQ implementation.
官方网站
http://projects.spring.io/spring-amqp/
官方文档
http://docs.spring.io/spring-amqp/docs/1.7.3.RELEASE/reference/html/
源码
https://github.com/spring-projects/spring-amqp
spring-amqp 模块是对AMQP协议的一个抽象和封装
spring-rabbit 模块是建立在spring、spring-amqp、amqp-client(RabbitMQ java client)之上的,是具体操作RabbitMQ的,底层对RabbitMQ的操作是使用amqp-client,其核心API RabbitAdmin、 RabbitTemplate
使用
1pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.edu.mq</groupId>
<artifactId>spring-amqp-rabbitmq</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-amqp-rabbitmq</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>1.7.3.RELEASE</version>
</dependency>
</dependencies>
</project>
引入依赖之后,可以看到spring-rabbit内部依赖
1, rabbit-amqp.
2, spring-amqp.
3, spring基础模块。
SpringAMQP是对AMQP协议的高度封装详解。
1,springAMQP将amqp协议中的概念各个模块及属性抽象成了类(rabbitclient中基本都是直接用字符串表示)。
如下是抽象之后源码的截图介绍,还有其他的细节部分,可以下载源码,自行研究。
image.png
通过这样上述的抽象,spring-amqp的操作将会更加简单。
spring-rabbit详细介绍
spring-rabbit 模块是建立在spring、spring-amqp、amqp-client(RabbitMQ java client)之上的,是具体操作RabbitMQ的,底层对RabbitMQ的操作是使用amqp-client,其核心API RabbitAdmin、 RabbitTemplate。
spring-rabbit是具体完成和broker交互的。通过下面两个具体的类,可以完成对broker的所有操作。即spring-rabbit通过操作rabbit-client完成对broker的操作。
两个重要api rabbitAdmin介绍rabbitAdmin对broker的操作,都是通过rabbitTemplet操作的。如下
rabbitTemplate 具体操作
网友评论