diff --git a/sylvilagus/scala/src/main/scala/com/meatballhat/sylvilagus/ch02/HelloWorldConsumer.scala b/sylvilagus/scala/src/main/scala/com/meatballhat/sylvilagus/ch02/HelloWorldConsumer.scala new file mode 100644 index 0000000..d47851b --- /dev/null +++ b/sylvilagus/scala/src/main/scala/com/meatballhat/sylvilagus/ch02/HelloWorldConsumer.scala @@ -0,0 +1,25 @@ +package com.meatballhat.sylvilagus.ch02 + +import com.rabbitmq.client._ + +object HelloWorldConsumer extends App { + val factory = new ConnectionFactory() + factory.setUri("amqp://guest:guest@localhost:5672") + val connection = factory.newConnection + val channel = connection.createChannel + + channel.exchangeDeclare("hello-exchange", "direct", true) + channel.queueDeclare("hello-queue", false, false, false, null) + + var consumer = new QueueingConsumer(channel) + channel.basicConsume("hello-queue", true, consumer) + + println("Waiting for messages...") + + while (true) { + new String(consumer.nextDelivery.getBody) match { + case "quit" => println("Exiting..") ; connection.close ; exit + case msg@_ => println("Received '%s'".format(msg)) + } + } +}