diff --git a/example/consumer.clj b/example/consumer.clj index 5d0fa2a..b01b3b2 100644 --- a/example/consumer.clj +++ b/example/consumer.clj @@ -31,5 +31,5 @@ ;; (println (rabbitmq/consume-poll conn-map channel))) ;; (let [[conn channel] connection] -;; (println (rabbitmq/queue-seq conn channel conn-map))) +;; (println (rabbitmq/queue-seq channel conn-map))) diff --git a/src/com/github/icylisper/rabbitmq.clj b/src/com/github/icylisper/rabbitmq.clj index e6fd1c6..458bcf4 100644 --- a/src/com/github/icylisper/rabbitmq.clj +++ b/src/com/github/icylisper/rabbitmq.clj @@ -64,14 +64,19 @@ (.basicAck ch (.. d getEnvelope getDeliveryTag) false) (cons m (delivery-seq ch q))))) -(defn queue-seq [conn - #^Channel ch - {q :queue}] +(defn queue-seq "Return a sequence of the messages in queue with name queue-name" - (.queueDeclare ch q) - (let [consumer (QueueingConsumer. ch)] - (.basicConsume ch q consumer) - (delivery-seq ch consumer))) + ([#^Channel ch + {q :queue}] + (.queueDeclare ch q) + (let [consumer (QueueingConsumer. ch)] + (.basicConsume ch q consumer) + (delivery-seq ch consumer))) + ([conn + #^Channel ch + c] + (queue-seq ch c))) + ;;; consumer routines (defn consume-wait [c #^Channel ch]