Kohei Nozaki's blog 

Using RabbitMQ with Java


Posted on Wednesday Aug 05, 2015 at 05:04PM in Technology


RabbitMQ is an open source message broker software made with Erlang. RabbitMQ is sponsored by Pivotal Software, Inc. in this entry, we’ll see how to launch it, publish or receive simple messages with Java client on OS X.

Installation

I’m using OS X 10.9.5. download rabbitmq-server-mac-standalone-3.5.4.tar.gz for Macs then extract it on somewhere.

Start the server

The server can be launched via execute sbin/rabbitmq-server as follows.

$ ./rabbitmq-server

              RabbitMQ 3.5.4. Copyright (C) 2007-2015 Pivotal Software, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: ./../var/log/rabbitmq/rabbit@kyle-no-MacBook.log
  ######  ##        ./../var/log/rabbitmq/rabbit@kyle-no-MacBook-sasl.log
  ##########
              Starting broker... completed with 0 plugins.

To shutdown, hit Ctrl+C then press a.

Next, we’ll look how to interact with the server from Java client.

Dependencies

RabbitMQ supplies the client library for Java in Maven Central. just put following dependency to your pom.xml.

<dependency>
	<groupId>com.rabbitmq</groupId>
	<artifactId>amqp-client</artifactId>
	<version>3.5.4</version>
</dependency>

Java examples in official tutorial

There is a complete Hello World example of a publisher in https://www.rabbitmq.com/tutorials/tutorial-one-java.html . just copy and paste it to your workspace and execute it after launch the server.

Complete a consumer example is here: https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/java/Recv.java . just execute it after execution of publisher is done.

The whole project can be obtained from my GitHub repository, nothing interesting here though.

Remarks

It’s very easy to use, I haven’t experienced any pitfall at all.

I wanted to interact with the server using JMS, but the JMS client needs a commercial license to download and unfortunately I don’t have one.



No one has commented yet.

Leave a Comment

HTML Syntax: NOT allowed