Set queue prefetch size to 1.
authorGeorgios Gousios <gousiosg@gmail.com>
Thu, 22 Mar 2012 09:36:49 +0000 (11:36 +0200)
committerGeorgios Gousios <gousiosg@gmail.com>
Thu, 22 Mar 2012 09:42:34 +0000 (11:42 +0200)
This might decrease queue reading performance but it also
increases the chances of no messages get lost if Aquarium
crashes

src/main/scala/gr/grnet/aquarium/messaging/AkkaAMQP.scala

index 346323f..33546a1 100644 (file)
@@ -94,7 +94,9 @@ trait AkkaAMQP extends Loggable {
         deliveryHandler = recipient,
         queueName = Some(queue),
         queueDeclaration = decl,
-        selfAcknowledging = selfAck
+        selfAcknowledging = selfAck,
+        /* Better safe than sorry */
+        channelParameters = Some(ChannelParameters(prefetchSize = 1))
         ))
 
   def producer(exchange: String) = {
@@ -103,6 +105,6 @@ trait AkkaAMQP extends Loggable {
       connection = (new AMQPConnection()).connection,
       producerParameters = ProducerParameters(
         exchangeParameters = Some(ExchangeParameters(exchange, Topic, decl)),
-        channelParameters = Some(ChannelParameters(prefetchSize = 0))))
+        channelParameters = Some(ChannelParameters(prefetchSize = 1))))
   }
 }
\ No newline at end of file