Using RabbitMQ with Rhino Service Bus - rabbitmq

I've read Oren Eini's MSDN article on Rhino ESB and it mentions that it's possible to use ActiveMQ, RabbitMQ or others in place of MSMQ or Rhino Queues. But I'm having trouble finding any examples of using anything other than MSMQ or Rhino Queues. I'm researching RabbitMQ along with Rhino ESB for a project and I just can't find anything on the configuration I want. Can anybody provide some samples or links for me?

I just looked at the Rhino ServiceBus code on Github and from what I can see there is no implementation for RabbitMQ. I can see an implementation for MSMQ (I use the MSMQ implementation).
However I would guess you could implement the RabbitMQ integration by looking at the MSMQ implementation. From a quick look at the MSMQ implementation it seems IMsmqTransport is the interface to implement. Once you have an implementation you can wire up the new implementations of the IMsmqTransport interface to get a working Rhino Servicebus using RabbitMQ.
If you are dead set on using RabbitMQ checkout Mike Hadlow's EasyNetQ
After writing the answer I found this, which might prove useful if you want to implement your own RabbitMQ implementation.

Related

How do I use ActiveMQ in Apache Flink?

I am getting my data through ActiveMQ which I want to process in real time with Apache Flink DataStreams. There is support for many messaging services like RabbitMQ and Kafka but I can't see any support for ActiveMQ. How can I use it?
Since there is not support for ActiveMQ, I would recommend implement a custom source.
You basically have to implement the SourceFunction interface.
If you want to have exactly-once semantics, you can base your implementation on the MultipleIdsMessageAcknowledgingSourceBase class.
I would recommend you to start with implementing a SourceFunction
Found a JMS connector for Flink:
https://github.com/jkirsch/senser/blob/master/src/main/java/edu/tuberlin/senser/images/flink/io/FlinkJMSStreamSource.java

ActiveMQ, STOMP, Java example

Can anyone point me to decent example where Java stomp client is used to connect to ActiveMQ.
Also I am interested in following:
Is failover supported over stomp?
How to create durable subscription?
Does stomp support asynchronous messaging? Examples? I think I have to implement MessageListener interface for it, but I wasn't able to find example for this.
If you really want to use STOMP from Java then you could look at StompJMS which maps quite a bit of the JMS API to STOMP. It doesn't support failover but there aren't a lot of stomp client's that do. When using Java you are better off to use the native JMS client from the ActiveMQ broker as it is going to be the most robust and feature complete client library you will find.

AMQP QPID client connector?

My next project is a RESTful application, so Restlet seems to be an excellent choice for implementation. However, I couldn't find any support for AMQP. What is the best way to add AMQP support, in particular QPID, to my project? I'm thinking of extending org.restlet.Client but not sure how to start. Any pointer is appreciated.
Thanks,
Khoa
QPID is a implementation of AMQP protocol - an ESB if u want or a server that you connect to. Usually you get connections to it through JNDI, or AMQPConnectionFactory (if I am not mistaken the name). Restlet has to do with Servlets. I can't see the connection between one and another to be honest. For example with Restlet you can map a HTTP GET to a certain path, but what you do after the GET (for example connecting to QPID) is totally your business.

NServiceBus vs Windows ServiceBus

Would someone be able to shed some light on the differences between the newly release Windows ServiceBus (on premise, not Azure) and NServiceBus?
Looking for a detailed answer what the windows SB may be missing as I'm familiar what NSErviceBus can do:
Is it a real service bus and not just a message broker that uses queues?
Can it support message polymorphism? (Messages subclassing other
messages and handlers supporting this hierarchy
Long running processes and correlation
Scale out
I'm responsible for the Windows Azure ServiceBus support in NServicebus. And in my opinion this new Windows Server Servicebus provides the exact same capabilities as the Azure ServiceBus. So in my opinion it will be a good match with NServiceBus instead of a competitor (just as the Windows Azure ServiceBus is) and could be used instead of msmq.
To answer your questions
The new servicebus is a broker that uses queues
Messages on the servicebus are just strings in the end, the servicebus itself has no additional support for message types, hierarchies, handlers etc. Typically you would use WCF or NServiceBus for this.
There is no support for long running processes nor correlation. It does have some feature overlap with NServiceBus though as it can do subcriptions/topics, it can also do deferral of messages as well as filters.
It's designed to scale out.
Hope this helps?
Kind regards,
Yves

How to use RabbitMQ broker in Java application

How to use RabbitMQ message broker in Java application? I have not found any document or link to understand how to do it.
There's plenty or RabbitMQ documentation.
In particular, you may be interested in the Java client API guide and the javadocs.