RabbitMQ系列十四 SpringAMQP介绍

2018-11-23  本文已影响0人  时之令

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基础模块。

依赖后jar
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 具体操作
上一篇下一篇

猜你喜欢

热点阅读