10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Spring AMQP 1.0 GA 发布了

  • 2012-02-05
  • 本文字数:1491 字

    阅读完需:约 5 分钟

近日,SpringSource(VMware 下的一个部门)发布 Spring AMQP 1.0 GA(1.0.0.RELEASE)。Spring AMQP 项目将 Spring 核心概念应用到了基于 AMQP 的消息解决方案的开发上,并且提供了 Java 与.NET 两个版本。要想了解 Spring AMQP 与 AMQP,请阅读文章“ Introduction to SpringSource’s Advanced Message Queuing Protocol Support ”。

Spring AMQP 提供了 org.springframework.amqp.core.AmqpTemplate 来发送与接收消息。AMQP 模板实现支持发送与接收 POJOs 而非 javax.jms.Message 实例。他们还提供了一种方式来自定义用于编排对象的 MessageConverter。Spring 与 JMS 用户会发现 JmsTemplate 与新的 AmqpTemplate 之间的相似性。

下面的代码片段介绍了如何联合使用 Spring AMQP 与 RabbitMQ 处理同步消息。 RabbitMQ 是 VMware 的产品,并且是官方 Spring AMQP 示例中所用的默认 AMQP 实现。

复制代码
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rabbit="http://www.springframework.org/schema/rabbit"
xsi:schemaLocation="http://www.springframework.org/schema/rabbit
http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<rabbit:connection-factory id="connectionFactory"/>
<rabbit:template id="amqpTemplate" connection-factory="connectionFactory"/>
<rabbit:admin connection-factory="connectionFactory"/>
<rabbit:queue name="helloworld.queue"/>
</beans>

上述 Spring 配置 xml 引用了 ConnectionFactory,创建了一个 RabbitTemplate 来访问消息 broker,创建了一个 RabbitAdmin 来管理交换、查询与绑定,最后创建了队列。下面的 Java 代码片段用于发送与接收消息。

复制代码
Producer.java
import org.springframework.amqp.core.AmqpTemplate;
...
AmqpTemplate amqpTemplate = context.getBean(AmqpTemplate.class);
amqpTemplate.convertAndSend("helloworld.queue", "Hello World");
复制代码
Consumer.java
import org.springframework.amqp.core.AmqpTemplate;
...
AmqpTemplate amqpTemplate = context.getBean(AmqpTemplate.class);
System.out.println(amqpTemplate.receiveAndConvert("helloworld.queue"));

要想上手,请下载 Spring AMQP for Java 或是 Spring AMQP for .NET 。Spring AMQP for Java artifacts 也位于 SpringSource Maven 仓库与 Maven Central 中。其依赖是 spring-amqp、spring-core 与 spring-context。如果消息 broker 使用的是 RabbitMQ,那么还要引入 spring-rabbit。你还可以试一下位于 GitHub 上的 Spring AMQP 示例。这些示例都是基于 Maven 的项目,需要用到 RabbitMQ 与 Erlang 。请阅读与示例代码一同发布的 readme.md 文件以了解完整的构建命令。

对于 Cloud Foundry 用户来说,VMware 还发布了RabbitMQ on Cloud Foundry 免费的公开Beta 版。你可以使用AMQP 连接RabbitMQ on Cloud Foundry,通过这些示例可以帮助你快速上手。对于Spring Integration 用户来说,版本2.1 M1 提供了AMQP 支持。

除了VMware 的RabbitMQ 外,其他基于AMQP 面向消息的中间件还有 Apache Qpid Red Hat Enterprise MRG StormMQ (托管)。iMatrix 的 OpenAMQ 已经不再支持了,因此也没有成为一个选择。

要想了解关于 Spring AMQP 的更多信息,请查看 Spring AMQP Reference for Java Spring AMQP Reference for .NET 参考页面。

查看英文原文: Spring AMQP 1.0 GA

2012-02-05 23:434046
用户头像

发布了 88 篇内容, 共 271.1 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

Date & Time组件(上)

芯动大师

Android Studio DATE类型 time

PowerShell 中运行 maven 参数无法识别

HoneyMoose

如何进行秒杀场景下的异步下单实现

风铃架构日知录

Java 数据库 程序员 后端 IT

ROS教程(Xavier)

Geek_7ubdnf

ROS

千万学生管理系统存储架构设计

陈天境

架构训练营-模块三作业

Sam

架构实战营

AIGC神器CLIP:技术详解及应用示例

Baihai IDP

人工智能 AI AIGC CLIP

Studio One2023免费中文版安装下载

茶色酒

Studio One 5 Studio One2023

2022年终总结:今年学完的付费课程

石云升

学习 知识付费 年终总结 1月月更

Design a limited-time offers e-commerce system

David

架构实战营

基于幂等表思想的幂等实践

小小怪下士

Java 程序员

MySql 应用程序常见问题

Andy

模块四:存储架构模式

程序员小张

拆分电商系统为微服务

闲人Eric

#架构实战营

架构作业4-千万级学生管理系统的考试试卷存储方案

梁山伯

醉爱江南,2023走进双山香山

科技大数据

#46 A003-B端产品经理小A故事-你是在画猫吗?

非典型产品经理笔记

个人成长 产品经理 b端产品经理

谈一谈有关 MySQL 数据库数据安全问题

风铃架构日知录

Java MySQL 程序员 后端 IT

SpringBoot配置文件application

Geek_7ubdnf

Java

PyTorch指定GPU进行训练

Geek_7ubdnf

Python

ROS常用指令

Geek_7ubdnf

ROS

2023-01-14:给定一个二维数组map,代表一个餐厅,其中只有0、1两种值 map[i][j] == 0 表示(i,j)位置是空座 map[i][j] == 1 表示(i,j)位置坐了人 根据防

福大大架构师每日一题

算法 rust Solidity 福大大

#45 A002-B端产品经理小A故事-走进客户2

非典型产品经理笔记

个人成长 产品经理 b端产品经理

剖析容器网络Flannel VXLAN模式工作原理

flannel #Kubernetes# #k8s

ETL 引擎 engine 适配 elasticsearch

weigeonlyyou

oracle Prometheus ETL Elastic Search InfluxDB Cluster

读懂深度学习,走进“深度学习+”阶段

脑极体

深度学习 百度 #飞桨#

MASA Stack 1.0 发布会 倒计时一天

MASA技术团队

.net MASA

【Dubbo3终极特性】「云原生三中心架构」带你探索Dubbo3体系下的配置中心和元数据中心、注册中心的原理及开发实战(上)

码界西柚

云原生 注册中心 配置中心 Dubbo3 元数据中心

PyCharm创建Jupyter Notebook

IT蜗壳-Tango

Python

Java中时间戳的使用

Geek_7ubdnf

Java

数据分析设计模式

agnostic

数据分析模式

Spring AMQP 1.0 GA发布了_Java_Bienvenido David_InfoQ精选文章