module RosettaQueue class Consumer < Base def self.receive(destination, options = {}) RosettaQueue::Adapter.instance.receive_once(Destinations.lookup(destination), options) rescue Exception=>e RosettaQueue.logger.error("Caught exception in Consumer#receive: #{$!}\n" + e.backtrace.join("\n\t")) end def self.delete(destination, options={}) RosettaQueue::Adapter.instance.delete(Destinations.lookup(destination), options) rescue Exception=>e RosettaQueue.logger.error("Caught exception in Consumer#delete: #{$!}\n" + e.backtrace.join("\n\t")) end def initialize(message_handler) @message_handler = message_handler end def receive connection.receive_with(@message_handler) rescue Exception=>e RosettaQueue.logger.error("Caught exception in Consumer#receive: #{$!}\n" + e.backtrace.join("\n\t")) end end end