欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

OpenCredo宣布为Spring Integration增加AMQP支持

程序员文章站 2022-05-03 10:25:11
...
OpenCredo是一家咨询公司,由Jonas Partner和Russ Miles创建,近日发布了一个开源的适配器——可以让Spring Integration应用与AMQP端点协同工作。

Advanced Message Queuing Protocol(AMQP)是个平台中立的规范,描述了面向客户的消息中间件,作为一个线级协议(wire-level,该协议是对以八进制数据流在网络上进行传输的数据格式的描述——译者注),它并没有规定API的实现细节。大家可以将其看作是适合于异步消息的特定协议。任何客户端都可以实现它,包括JMS API。

RabbitMQ是个面向消息的中间件(MOM)产品,使用Erlang开发,因此能够充分利用Erlang语言优秀的线程和多核能力,可以无缝地将单VM上的并发代码转换为跨越多个物理节点的分布式应用。RabbitMQ并没有提供JMS客户端,但却提供了AMQP客户端。RabbitMQ并不是唯一一个考虑到可伸缩性而使用Erlang进行开发的中间件产品,ejbabberd(XMPP远程消息服务器)、CouchDB(文档数据库)以及Amazon的SimpleDB(分布式数据库)都是使用Erlang进行开发的。

虽然JMS是Java客户端与消息中间件进行互联的标准机制,使用也非常广泛,但它却并非是唯一之选。AMQP也为Java用户提供了优秀的消息解决方案。OpenCredo的声明——集成AMQP与Spring Integration框架——阐明了如何通过Spring框架将基于AMQP的消息系统引入到企业当中。

Spring Integration构建在Spring框架之上,提供了面向消息的解决方案,非常类似于ESB;它提供的适配器可以让代码响应外部系统事件,这与EJB中的Message Driven Bean或是Spring中的Message Driven POJO非常像。OpenCredo框架的目标在于为各种不同的本地Java AMQP客户端提供一致的使用方式,同时将其挂接(hook)到Spring Integration总线上。目前,该支持包装了RabbitMQ AMQP Java客户端并通过Spring Integration创建了一个间接层以将逻辑与消息系统进行解耦。重要的是,AMQP是个开放、线级协议,这样一个客户端就能与多个厂商协同工作,而JMS客户端则只能绑定到固定版本的JMS服务器上。

OpenCredo与RabbitMQ CEO Alexis Richardson和RabbitMQ团队通力合作实现了该支持并计划对其进行不断升级。其任务列表中还准备提供对事件驱动(与基于轮询的方式相反)客户端的支持以及为客户端提供声明式的Spring事务管理支持。最近OpenCredo宣布联合Spring Integration以提供对Esper(一个Complex Event Processing方案)的支持。OpenCredo通过与简单、以POJO为中心的Spring Integration的联手合作,为Esper的支持提供了强大的消息与监控能力。

查看英文原文:OpenCredo Announces AMQP Support for Spring Integration
相关标签: Spring