InfoQ Homepage News OpenCredo Announces AMQP Support for Spring Integration
OpenCredo Announces AMQP Support for Spring Integration
This item in japanese
Mar 05, 2010 2 min read
by
Write for InfoQ
Feed your curiosity. Help 550k+ globalsenior developers
each month stay ahead.Get in touch
OpenCredo - a consultancy helmed by - among others - Jonas Partner and Russ Miles - has recently announced an open source adapter to let Spring Integration applications work with AMQP endpoints.
The Advanced Message Queuing Protocol (AMQP) is a platform neutral specification that describes messaging middleware to clients. It doesn't prescribe an API so much as a wire-level format. Think of it as a protocol specifically geared to asynchronous messaging. Any client can implement it, including JMS APIs.
RabbitMQ is a message-oriented middleware (MOM) product developed using Erlang, and can therefore take advantage of that language's excellent threading and multicore capabilities, able to seamlessly switch concurrent code in a single VM to a distributed application across multiple physical nodes. RabbitMQ does not offer a JMS client, however, but it does offer a AMQP client. RabbitMQ is not the only middleware whose designers chose Erlang when scale mattered: ejbabberd (an XMPP instant messaging server), CouchDB (a document database), and Amazon's SimpleDB (a distributed database) are all based on Erlang.
So: while JMS is a very prevalent, standard mechanism to connect Java clients to messaging middleware, it's not the only game in town. AMQP can bring sophisticated messaging solutions to Java users, too. OpenCredo's announcement - an integration of AMQP with the Spring Integration framework - represents a practical demonstration of how to bring AMQP-based messaging systems to the enterprise through the Spring framework.
Spring Integration is a framework that sits on top of the Spring framework enables messaging oriented solutions, very much like an ESB. Spring Integration provides adapters that let your code react to events in many external systems in much the same way as you might if you were writing a Java EE Message Driven Bean in EJB or Message Driven POJO in Spring. The goal of the OpenCredo framework is to provide a consistent usage idiom of the various native Java AMQP clients and hook them into the Spring Integration bus. At the moment, this support wraps the RabbitMQ AMQP java client and decouples your logic from any awareness of the messaging system by using Spring Integration to provide a layer of indirection. Importantly, AMQP is an open, on-the-wire protocol; so one client should work with many vendors, where a JMS client is coupled with the JMS server and version.
OpenCredo worked with the RabbitMQ CEO Alexis Richardson and the RabbitMQ team to make this release, and plan on upgrading it. On the to-do list is support for a event-driven (as opposed to a poller-driven) client, and declarative Spring transaction management for the client. OpenCredo recently announced support for using Esper - a Complex Event Processing (CEP) solution - in conjunction with Spring Integration. Esper support provides a powerful one-two punch, enabling messaging and monitoring from a simple, POJO-centric Spring Integration standpoint.
This content is in the Enterprise Architecture topic
Related Topics:
-
Related Editorial
-
Related Sponsors
-
Popular across InfoQ
-
AWS Introduces ECS Managed Instances for Containerized Applications
-
Producing a Better Software Architecture with Residuality Theory
-
GitHub Introduces New Embedding Model to Improve Code Search and Context
-
Google DeepMind Introduces CodeMender, an AI Agent for Automated Code Repair
-
Building Distributed Event-Driven Architectures across Multi-Cloud Boundaries
-
Elena Samuylova on Large Language Model (LLM)-Based Application Evaluation and LLM as a Judge
-
Related Content
The InfoQ Newsletter
A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example