Skip to content

Files

Latest commit

34eed7b · Apr 22, 2024

History

History

java

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Feb 2, 2023
Mar 31, 2019
Dec 4, 2018
Feb 2, 2023
Dec 4, 2018
Mar 4, 2023
Apr 22, 2024
Sep 20, 2022
Sep 20, 2022
Dec 4, 2018
Feb 2, 2023
Dec 4, 2018
Feb 2, 2023
Apr 6, 2022
Nov 14, 2019
Dec 4, 2018
Apr 22, 2024

Java code for RabbitMQ tutorials

Here you can find the Java code examples from RabbitMQ tutorials.

To successfully use the examples you will need a RabbitMQ node running locally.

Requirements

You'll need to download the following JAR files from Maven Central:

For example, with wget:

wget https://repo1.maven.org/maven2/com/rabbitmq/amqp-client/5.21.0/amqp-client-5.21.0.jar
wget https://repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.13/slf4j-api-2.0.13.jar
wget https://repo1.maven.org/maven2/org/slf4j/slf4j-simple/2.0.13/slf4j-simple-2.0.13.jar

Copy those files in your working directory, along the tutorials Java files.

To compile you only need the Rabbitmq Java client jar on the classpath. To run them you'll need all the dependencies, see examples below.

You can set an environment variable for the jar files on the classpath e.g.

export CP=.:amqp-client-5.21.0.jar:slf4j-api-2.0.13.jar:slf4j-simple-2.0.13.jar
java -cp $CP Send

On Windows, use a semicolon instead of a colon to separate items in the classpath:

set CP=.;amqp-client-5.21.0.jar;slf4j-api-2.0.13.jar;slf4j-simple-2.0.13.jar
java -cp %CP% Send

Code

javac -cp amqp-client-5.21.0.jar Send.java Recv.java

# terminal tab 1
java -cp .:amqp-client-5.21.0.jar:slf4j-api-2.0.13.jar:slf4j-simple-2.0.13.jar Recv

# terminal tab 2
java -cp .:amqp-client-5.21.0.jar:slf4j-api-2.0.13.jar:slf4j-simple-2.0.13.jar Send
javac -cp $CP NewTask.java Worker.java

# terminal tab 1
java -cp $CP NewTask

# terminal tab 2
java -cp $CP Worker
javac -cp $CP EmitLog.java ReceiveLogs.java

# terminal tab 1
java -cp $CP ReceiveLogs

# terminal tab 2
java -cp $CP EmitLog
javac -cp $CP ReceiveLogsDirect.java EmitLogDirect.java

# terminal tab 1
java -cp $CP ReceiveLogsDirect warning error

# terminal tab 2
java -cp $CP ReceiveLogsDirect info warning error

# terminal tab 3
java -cp $CP EmitLogDirect error "Run. Run. Or it will explode."
# To compile:
javac -cp $CP ReceiveLogsTopic.java EmitLogTopic.java

# To receive all the logs:
java -cp $CP ReceiveLogsTopic "#"

# To receive all logs from the facility "kern":
java -cp $CP ReceiveLogsTopic "kern.*"

# Or if you want to hear only about "critical" logs:
java -cp $CP ReceiveLogsTopic "*.critical"

# You can create multiple bindings:
java -cp $CP ReceiveLogsTopic "kern.*" "*.critical"

# And to emit a log with a routing key "kern.critical" type:
java -cp $CP EmitLogTopic "kern.critical" "A critical kernel error"
# Compile and set up the classpath as usual (see tutorial one):
javac -cp $CP RPCClient.java RPCServer.java

# Our RPC service is now ready. We can start the server:
java -cp $CP RPCServer

# To request a fibonacci number run the client:
java -cp $CP RPCClient
javac -cp $CP PublisherConfirms.java
java -cp $CP PublisherConfirms