Mini Project RabbitMQ and Java – part 1
RabbitMQ is a message-queueing software also known as a message broker or queue manager. In simple words, it is software where queues are defined, to which applications connect in order to transfer a message or messages. Message-queueing software offers persistence, delivery acknowledgements, publisher confirms and high availability. RabbitMQ client handling many languages. Most popular as Java and .Net or less as Ruby.
RabbitMQ installation
Go to https://www.rabbitmq.com/#getstarted click Download + Installation
button, and select installer for your system. Important RabbitMQ requires a 64-bit supported version of Erlang Erlang must be installed first, and must be run as administrator Before the next steps you should get familiar with rabbitmqctl. It is a command line tool for managing a RabbitMQ server. After installation (first Erlang, second RabbitMQ) go to cmd
and try stop service:
cd C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.2\sbin
And
>rabbitmq-service stop
In console you should get information RabbitMQ stopped. OK let`s try check node status:
>rabbitmq-service start
When RabbitMQ is working:
>rabbitmqctl status
You will get information about OS PID, OS name, RabittMQ version, Erlang configuration and more.
Management Plugin
The RabbitMQ management plugin is helpful in management and monitoring of RabbitMQ nodes and clusters. Management plugin presents statistics, charts and warnings but for long term metric storage and visualisation there will be better use external tools as Grafana.
rabbitmq-plugins.bat enable rabbitmq_management
If plugin is started you can go to http://localhost:15672/. And login as guest, password: guest.
Maven installation
On your computer in your favourite localization create a folder e.g. Projects
. Next download Maven and set enviroment variables M2_HOME
and MAVEN_HOME
as a directory with maven e.g:
C:\Program Files\apache-maven-3.6.3
And add in PATH
: %M2_HOME%\bin
How to check Maven
Run cmd as administrator and run:
mvn -version
Your response will be similar:
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: C:\Program Files\apache-maven-3.6.3\bin\..
Java version: 1.8.0_101, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_101\jre
Default locale: pl_PL, platform encoding: Cp1250
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
Go to your Project
localization and run: For DgroupId
and DartifactId
please set own names
mvn archetype:generate -DgroupId=com.marcin -DartifactId=rabbit -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
If you got:
[INFO] BUILD SUCCESS
We can go forward
Import project in IntelliJ
Select Import Project
and select path e.g: If you got:
C:\Projects\rabbit\pom.xml
Click OK
. In second window select checkbox Import Maven projects automatically
go Next
and Finish
.
pom.xml
Set version for maven compiler which is a right for your installation:
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
Add dependency to RabbitMQ Java Client from Maven repository
<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
<dependency>
<groupid>com.rabbitmq</groupid>
<artifactid>amqp-client</artifactid>
<version>5.8.0</version>
</dependency>
Go to App
and run Hello World!
If program is finished with the success we have ready skeleton. In the second part, we will connect RabbitMQ with the skeleton of the project and we will send and receive a message from the queue.