Revision 5b0541c9 logic/src/main/scala/gr/grnet/aquarium/messaging/amqp/rabbitmq/v091/RabbitMQConsumer.scala
b/logic/src/main/scala/gr/grnet/aquarium/messaging/amqp/rabbitmq/v091/RabbitMQConsumer.scala | ||
---|---|---|
39 | 39 |
|
40 | 40 |
import confmodel.RabbitMQConsumerModel |
41 | 41 |
import com.rabbitmq.client.{Channel => JackRabbitChannel, Connection => JackRabbitConnection, ConnectionFactory => JackRabbitConnectionFactory} |
42 |
import gr.grnet.aquarium.util.Loggable |
|
42 | 43 |
|
43 | 44 |
/** |
44 | 45 |
* |
45 | 46 |
* @author Christos KK Loverdos <loverdos@gmail.com>. |
46 | 47 |
*/ |
47 |
class RabbitMQConsumer(private[v091] val owner: RabbitMQConnection, val confModel: RabbitMQConsumerModel) extends AMQPConsumer { |
|
48 |
class RabbitMQConsumer(private[v091] val owner: RabbitMQConnection, val confModel: RabbitMQConsumerModel) extends AMQPConsumer with Loggable { |
|
49 |
private[v091] val _rabbitChannel = { |
|
50 |
val _ch = owner._rabbitConnection.createChannel() |
|
51 |
logger.info("Created rabbit channel %s for %s".format(_ch, this.toString)) |
|
52 |
val exchange = owner.confModel.exchange |
|
53 |
val exchangeType = owner.confModel.exchangeType |
|
54 |
val exchangeIsDurable = owner.confModel.isDurable |
|
55 |
val queue = confModel.queue |
|
56 |
val routingKey = confModel.routingKey |
|
57 |
val queueIsDurable = confModel.queueIsDurable |
|
58 |
val queueIsAutoDelete = confModel.queueIsAutoDelete |
|
59 |
val queueIsExclusive = confModel.queueIsExclusive |
|
60 |
|
|
61 |
val ed = _ch.exchangeDeclare(exchange, exchangeType, exchangeIsDurable) |
|
62 |
logger.info("Declared exchange %s for %s with result %s".format(exchange, this, ed)) |
|
63 |
|
|
64 |
_ch.queueDeclare(queue, queueIsDurable, queueIsExclusive, queueIsAutoDelete, null) |
|
65 |
|
|
66 |
_ch.queueBind(queue, exchange, routingKey) |
|
67 |
_ch |
|
68 |
} |
|
69 |
|
|
48 | 70 |
def name = confModel.name |
49 | 71 |
|
72 |
def newDeliveryAgent(handler: AMQPDeliveryHandler) = new RabbitMQDeliveryAgent(this, handler) |
|
73 |
|
|
50 | 74 |
override def toString = { |
51 | 75 |
val connName = owner.name |
52 | 76 |
val confName = owner.owner.name |
Also available in: Unified diff