OpenCredo是

家咨询公司

由Jonas Partner和Russ Miles创建

近日发布了

个开源

适配器——可以让Spring Integration应用和AMQP端点协同工作

Advanced Message Queuing Protocol(AMQP)是个平台中立

规范标准

描述了面向客户

消息中间件

作为

个线级协议(wire-level

该协议是对以 8进制数据流在网络上进行传输

数据格式

描述——译者注)

它并没有规定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团队(Team)通力合作实现了该支持并计划对其进行不断升级

其任务列表中还准备提供对事件驱动(和基于轮询

方式相反)客户端

支持以及为客户端提供声明式

Spring事务管理支持

最近OpenCredo宣布联合Spring Integration以提供对Esper(

个Complex Event Processing方案)

支持

OpenCredo通过和简单、以POJO为中心

Spring Integration

联手合作

为Esper

支持提供了强大

消息和监控能力