rabbitmq-tutorials/kotlin
2023-02-04 11:36:58 +09:00
..
src/main/kotlin kotlin-gradle => kotlin 2018-06-12 02:16:39 +03:00
.gitignore kotlin-gradle => kotlin 2018-06-12 02:16:39 +03:00
build.gradle Upgrade kotlin version 2023-02-04 11:36:58 +09:00
gradle.properties kotlin-gradle => kotlin 2018-06-12 02:16:39 +03:00
README.md URL Cleanup 2019-03-20 03:25:16 -05:00
settings.gradle kotlin-gradle => kotlin 2018-06-12 02:16:39 +03:00

RabbitMQ Tutorials in Kotlin

This is a minimalistic Kotlin port of the RabbitMQ tutorials in Java. The port is admittedly quite close to Java in terms of code style.

Compiling the Code

gradle clean compileKotlin

Running the Tutorials

Tutorial 1

Execute the following command to start a Hello, world consumer

gradle run -P main=Recv

Execute the following in a separate shell to publish a Hello, world messge:

gradle run -P main=Send

Tutorial 2

Send a task message. The task will be completed immediately

gradle run -P main=NewTask

To start a worker (run in a separate shell):

gradle run -P main=Worker

Send a task message. It will wait for 1 second for each dot in the payload.

gradle run -P main=NewTask -P argv="rabbit1 ...."

Add more workers to the same queue, message will be distributed in the round robin manner.

Tutorial 3

gradle run -P main=ReceiveLogs
gradle run -P main=EmitLog -P argv="rabbit1, msg1"

Tutorial 4

gradle run -P main="ReceiveLogsDirect" -P argv="info,error"
gradle run -P main=EmitLogDirect"

Tutorial 5

gradle run -P main=ReceiveLogsTopic -P argv="anonymous.*"
gradle run -P main=EmitLogTopic -P argv="anonymous.info"

Tutorial 6

In one shell:

gradle run -P main=RPCServer

In another shell:

gradle run -P main=RPCClient