2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

FFmpeg音视频处理工具三剑客(ffmpeg、ffprobe、ffplay)

liuzhen007

音视频 5月日更

Go 杂谈——interface与nil的细节让我出了线上BUG

HZFEStudio

Go 语言

Android团队怎样搭建自己的开发仓库

寻找生命中的美好

android maven nexus library

模块1作业

刘丽

2021年程序员可以做哪些副业?

孙叫兽

程序员 副业 副业赚钱

还是说出来吧,反正也不是外人|靠谱点评

无量靠谱

架構設計訓練營作業 3

海罗沃德

架构实战营

vue组件、路由、cli

chun1123

Vue 组件化 路由 vue cli

吐槽OOP

顿晓

5月日更

网络攻防学习笔记 Day8

穿过生命散发芬芳

5月日更 网络攻防

读英特尔CEO自传有感

ES_her0

5月日更

事关每个程序员的职业规划与履历

孙叫兽

生涯规划 程序员 职业规划 人生修炼

第 0 期架构训练营模块 3 作业

架构实战营

网络攻防学习笔记 Day9

穿过生命散发芬芳

5月日更 网络攻防

借鉴AQS的CHL思路解决消息多线程消费顺序ACK问题

Coder的技术之路

AQS 多线程 高并发 架构设计 消息队列

模块三作业 - 消息队列系统架构设计文档

冬天的树

ceph-csi源码分析(5)-rbd driver-nodeserver分析(上)

良凯尔

Kubernetes 源码分析 Ceph CSI

区块链如何赋能“链”金融

CECBC

金融

ceph-csi源码分析(6)-rbd driver-nodeserver分析(下)

良凯尔

Kubernetes 源码分析 Ceph CSI

我在InfoQ写作平台这一年

Nydia

1 周年盛典

消息推送技术-技术专题

码界西柚

消息推送 5月日更

NodeJs中使用Apollo Server构建GraphQL API服务

devpoint

nodejs graphql Apollo Server

我的Serverless实战——引领云计算的下一个十年

孙叫兽

云计算 Serverless #Serverless

所谓区块链去中心化社交产品,究竟是创新还是复旧?

CECBC

区块链

架构实战营 - 模块 03 作业

架构实战营

GoF23 中的对象行为模式草图!

鲁米

五月学习心得(一)

攻城先森

学习 5月日更

消息队列详细架构设计

Vincent

架构训练营

如何上架自己的应用到各大应用商店?

孙叫兽

证书 安卓 appstore 应用宝 引航计划

花了两天时间用html+css+js做了一个网页版坦克大战游戏

孙叫兽

JavaScript html 坦克大战

网站优化第一次网页加载的速度的办法与思路。

孙叫兽

性能优化 网站 性能调优

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