From 420a979b9879deea200c084c276e042b222bee08 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Thu, 15 Nov 2012 20:13:46 -0500 Subject: [PATCH] Implementing the consumer side of the chapter 2 exercise --- .../sylvilagus/ch02/HelloWorldConsumer.scala | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 sylvilagus/scala/src/main/scala/com/meatballhat/sylvilagus/ch02/HelloWorldConsumer.scala 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)) + } + } +}