最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

关注

评论

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

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

Java 程序员 架构 面试

发布60分钟!霸榜Github的阿里面试指导小册,啃透涨薪10k

Java架构师迁哥

基于WebRTC的1对1通话实战(一)环境搭建

IT酷盖

音视频 WebRTC

谁是项目的负责人?

escray

学习 极客时间 朱赟的技术管理课 6月日更

尽情阅读,技术进阶,详解mmap的原理

奔着腾讯去

c++ 内存管理 Mmap 虚拟内存 共享内存

数字经济下的数据库发展以及应用

容光

CSS技巧 | 优雅的处理文本溢出截断

devpoint

CSS 6月日更

现代分布式架构设计原则-可观测性

余朋飞

微服务 监控 日志 可观测性 链路追踪

区块链技术让传统旅游业焕发新机

CECBC

百度的云图丹青

脑极体

基于开源引擎打造自主可控服务体系

张亮

大数据 开源 To B业务

Flask-Limiter详细使用说明

行者AI

flask

夯实区块链产业发展根基是当务之急 标准体系、知识产权是国际竞争角力之焦点

CECBC

前端 JS 之 AJAX 简介及使用

编程三昧

JavaScript ajax 大前端 异步请求

Kubernetes手记(12)- StatefulSet 控制器

雪雷

k8s 6月日更

话题讨论|从2021苹果全球开发者大会中,你得到了什么启发?

石云升

wwdc 话题讨论 6月日更

Seata 新特性,APM 支持 SkyWalking

阿里巴巴云原生

运维 云原生

如何针对美工与设计师的Maya工具进行版本控制

龙智—DevSecOps解决方案

网易云信大规模聊天室系统架构解析

网易云信

聊天室 IM

智慧新发展:打造更富动感的智慧园区3D可视化决方案!

一只数据鲸鱼

数据可视化 智慧城市 智慧园区 三维可视化

从金融街往事到全场景智慧金融未来

白洞计划

负载均衡算法之一 - 以 Golang 方式

hedzr

load-balancing weighted round-robin consistent-hashing

别闹,那个在加密世界拿着长枪的库币

猫Buboo

区块链 区块链+ 加密资产

从货币流动性角度看区块链流动性发展

CECBC

阿里P8工作10年,离职时发现只剩这份《Java架构速成》笔记了

Java架构师迁哥

详解 SQL 的集合运算

悟空聊架构

数据库 sql 6月日更 集合运算

阿里巴巴新产“Java架构核心宝典”,全是流行技术,限时开放

Java 程序员 架构 面试

👑【Hystrix技术专题】原理和特性介绍

洛神灬殇

Hystrix spring-cloud 熔断器 6月日更

小伙伴们在催更Spring系列,于是我写下了这篇注解汇总!!

冰河

spring 程序员 架构师 aop ioc

5分钟速读之Rust权威指南(二十二)迭代器

wzx

rust

Python分类预测模型

Qien Z.

Python 预测模型 6月日更

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