[rabbitmq-discuss] RabbitMQ as messaging hub between .Net and JMS based services

Steve Powell steve at rabbitmq.com
Mon Apr 29 15:56:22 BST 2013

First of all, apologies for not responding more quickly.

You may have noticed that some support for a JMS client using RabbitMQ as the broker is now available from vFabric Suite Release 5.3 [1], as part of vFabric RabbitMQ 3.0[2].

What is offered in this first version (RabbitMQ JMS 1.0.0) is a Java Client and an extra RabbitMQ plugin that together offer the core JMS functions at the level of JMS Spec 1.1.

The key features not offered are:
    Full transaction support (local transactions are supported without full recovery)
    Queue Browsing
    Queue Selection
    Exception Listeners
    Connection Consumers and Server Sessions.

The JMS Admin interface can be used to define Destinations and create Connections and these are serialisable and can be delivered over JNDI to app code.

The JMC Client interface can send messages to and receive messages from topics and queues using the JMS interface (including the use of topic selection). The messages generated are structured specifically for JMS client use, in particular they use Java serialisation for payloads.  This means that there is little help for a standard RabbitMQ client to read the messages without some extra 'decoding' work, though for raw binary payloads it would not be difficult.  The queue names and exchanges are JMS client specific, but not difficult to discover.

It is quite a different story for a non-JMS client to send messages to a JMS Destination.  This would involve quite a lot of 'coding', as there is nothing in the JMS client to allow the definition of RabbitMQ Queues as Destinations for reading.

While there are plans to subsequently extend this support to include some of the missing items above, there is nothing in plan yet for smooth interoperation between JMS and non-JMS RabbitMQ clients.  We are presently evaluating demand.

Currently, the first service release is being developed to fix outstanding bugs and this will be made available at some point in the (near) future.

Your input is very valuable to us.  If you have specific requirements please make them known, either on this forum as usual, or to me directly on <spowell at gopivotal.com>.

[1] https://www.vmware.com/support/vfabric-platform/doc/vfabric-suite-rn-5.3.0.html
[2] https://www.vmware.com/support/vfabric-rabbitmq/doc/vfabric-rabbitmq-rn-3.0.4.html

Steve Powell
[M: +44-7815-838-558; H:+44-1962-775-598]
Links: Pivotal, SpringSource, VMware, Virgo, RabbitMQ.
Good design:
   is innovative, useful, aesthetic;
   is understandable, unobtrusive, honest;
   is long-lasting, thorough, environmentally friendly;
   and is as little design as possible.
Copyright Dieter Rams, amended March 2003; October 2009; and August 2012

On 26 Apr 2013, at 15:10, Ryan Dever <ryanbd at gmail.com> wrote:

> We would also be interested in knowing this.  I am on a project where we use RabbitMQ for most of our messaging.  We also have a third party application that is capable of sending JMS messages.  We have tested this application with ActiveMQ in the past; however, if we could eliminate the need for the ActiveMQ server we would like to do so.  As it is now it sounds like we will need to create a bridge application if we need to get the messages out of ActiveMQ and into RabbitMQ.
> On Tuesday, February 12, 2013 5:41:42 PM UTC-5, Sandeep Aggarwal wrote:
> RabbitMQ team-
> Could you please share some insight on when are we expecting Rabbit to become JMS compatible? We have now implemented RabbitMQ in a clustered mode (along with HAProxy in the front) and all initial tests seem to be very satisfactory. In the next few weeks and months, I need to be able to use this setup as my full blown middleware - including JMS compatibility. I understand this feature is in works - please let me know when can I start testing it and when would it be production ready. 
> Thanks,
> Sandy
> On Sunday, October 14, 2012 2:39:30 AM UTC-4, Sandeep Aggarwal wrote:
> Hi - 
> I'm trying to implement RabbitMQ as the core messaging hub to be used in my company in the following configuration. Has someone used Rabbit this way (or something similar)? Please share your experiences. 
> 1. Install RabbitMQ broker in the intranet zone for all internal apps. All internal apps use Windows, IIS, .Net stack. We can use the .Net client for RabbitMQ and have done some proof-of-concept testing and seems to be working fine. 
> 2. Install RabbitMQ in the DMZ zone for the external apps such as customer facing web portal (WebLogic, JSF, Oracle) and another vendor app (JBoss, Linux and Oracle). 
> 3. Both of these brokers need to be working in high-availability (HA in active/active) mode.
> The problem is that the new vendor app that we are trying to plug in here (under external apps) provides MQ features using JMS. But since this is a vendor app, we don't have access to the source code and we cannot make changes to start using rabbitMQ's Java client for this app. I need to use some JMS compliant messaging provider for this app. For instance, I can use JBoss MQ or otherwise buy IBM MQ (which could always be done technically but it's cost prohibitive for us for now).
> I'm trying to figure out if I can use RabbitMQ as a JMS provider? If I can do so in a production environment, then we can keep RabbitMQ as the core messaging backbone for the firm without having to use a different JMS provider. Please share if someone has run into something similar.  
> Thx in advance...
> Sandy
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130429/ff5c5ec6/attachment.htm>

More information about the rabbitmq-discuss mailing list