写点什么

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:434022
用户头像

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

关注

评论

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

为什么美国服务器是业务国际化的首选?深入探讨其关键优势

一只扑棱蛾子

美国服务器

作为铭文跨链赛道龙头,SoBit 有何突出之处?

西柚子

DePIN:去中心化基础设施的新篇章

TechubNews

区块链 web3 DePIN

安全可信|这朵政务云通过中央网信办云计算服务安全评估增强级认证!

天翼云开发者社区

云计算 安全 云服务

上升到人生法则的贝叶斯理论

小齐写代码

月薪50k万的程序员,和三个15K的程序员,谁的开发效率高?

伤感汤姆布利柏

程序员 互联网 高薪

使用PotPlayer播放器查看软解和硬解4K高清视频时的CPU及GPU占用情况 | 主赛道

国产化系统中遇到的视频花屏、卡顿以及延迟问题的记录与总结 | 主赛道

以全面预算管理推进现代销售计划的建立

智达方通

全面预算管理 销售计划

TcpDump

虚实的星空

HTTP tcpdump

文心一言 VS 讯飞星火 VS chatgpt (167)-- 算法导论13.1 7题

福大大架构师每日一题

福大大架构师每日一题

“数”上加“速” 腾讯云(辽宁)数字经济产业基地在铁西揭牌

极客天地

基于图神经网络的动态物化视图管理

KaiwuDB

KaiwuDB 物化视图管理

三掌柜的2023年国产AI体验之路

三掌柜

年终总结 2023 2023年 年度

安全可信丨业内领先!天翼云公有云管理平台通过密评!

天翼云开发者社区

云计算 公有云 云平台

玩转云端| 多云时代,数据管理就该这么“库”!

天翼云开发者社区

数据库 云计算

从数据洞察到市场变革:我们的 Web3 愿景

Footprint Analytics

区块链 #Web3

利用全面预算管理,构建企业数智化管理体系

智达方通

数智化转型 全面预算管理

使用RFC跳过权限校验的方法

不在线第一只蜗牛

用户 abap 业务流程

IPQ8072 and IPQ8074: The difference between enterprise-grade and consumer-grade routers

wallysSK

五大能力六大场景,百度“品牌智能体”打造品牌AGI时代最核心经营阵地

科技热闻

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