You will need a RabbitMQ client to connect to the UH Message Broker.
- Java
- Download the Java Client
- Sample Code
- UHIMSEventsServiceImpl.java, a Java consumer used for UHIMS Events
- RabbitMqConnector.java, a Java producer for a SECE exchange
- Perl
- AnyEvent::RabbitMQ (customized by us)
- We chose it mostly because it didn't require us to install additional software. However, it seems that its author has abandoned it; we received no reply to an inquiry about incorporating our SSL patch below.
- We have created a module named RabbitMessaging that uses AnyEvent::RabbitMQ.
- It is much friendlier, but probably at the expense of AnyEvent functionality.
- It relies on our patches to version 1.05 of AnyEvent::RabbitMQ. You may be able to use other versions, see description of patches below.
- Read the warning about the consume() method in the RabbitMessaging.pm source code. You may want to use the get_message() method instead.
- To use RabbitMessaging:
- Download our RabbitMessaging.pm module
- Install version 1.05 of AnyEvent::RabbitMQ
- Patch version 1.05 of AnyEvent::RabbitMQ as follows:
- Apply RabbitMQ-tls.patch to /usr/local/lib/site_perl/5../AnyEvent/RabbitMQ/RabbitMQ.pm (for TLS support)
- Apply RabbitMQ-Channel-args.patch to /usr/local/lib/site_perl/5../AnyEvent/RabbitMQ/Channel.pm (for persistent messages)
- Use sample-RabbitMessaging-code as a template for your app.
- You are also welcome to use our AnyEvent::RabbitMQ patches without our RabbitMessaging module.
- If you wish to use a newer version of AnyEvent::RabbitMQ:
- Version 1.10 of AnyEvent::RabbitMQ includes our RabbitMQ-tls.patch.
- You will need to apply RabbitMQ-Channel-args.patch if you use RabbitMessaging's publish method() or if you borrowed this line of code from it:
header => { 'delivery_mode' => 2 }, # make messages persistent
- Net::STOMP::Client
- Recommended by someone in the rabbitmq-discuss mailing list, its author is active in this list.
- POE::Component::Client::AMQP
- Also mentioned in rabbitmq-discuss mailing list.
- AnyEvent::RabbitMQ (customized by us)
- Other clients from the RabbitMQ website:
- .NET/C#
- Erlang
You may find it easier to go to http://www.rabbitmq.com/download.html and use the quick download links for each of the above languages.