RabbitMQ系列十四 SpringAMQP介绍

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
具体操作
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,881评论 18 139
  • http://liuxing.info/2017/06/30/Spring%20AMQP%E4%B8%AD%E6%...
    sherlock_6981阅读 15,991评论 2 11
  • 前言 在微服务架构的系统中,我们通常会使用轻量级的消息代理来构建一个共用的消息主题让系统中所有微服务实例都连接上来...
    Chandler_珏瑜阅读 6,607评论 2 39
  • RabbitMQ核心基础概念 Server:又称之为Broker,接受客户端的连接,实现AMQP实体服务。 Con...
    Java大宝宝阅读 3,243评论 0 2
  • 四月,春暖花开,正是一年好时节。如此好时光,怎能荒废,倒不如约上三五好友,一起去郊外踏青。赶巧我一朋友正好约我去西...
    其实我不圆阅读 1,761评论 0 2