Skip to content

Instantly share code, notes, and snippets.

@jestinepaul
Created June 4, 2012 13:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jestinepaul/2868241 to your computer and use it in GitHub Desktop.
Save jestinepaul/2868241 to your computer and use it in GitHub Desktop.
(defn- lazy-queue-message-seq [^QueueReceiver receiver]
(lazy-seq
(let [message (.receive receiver)]
(cons message (lazy-queue-message-seq receiver)))))
(defn queue-message-seq
"Receive a lazy sequence of messages from the JMS Queue"
[queue]
(let [^QueueSession session (.createQueueSession *jms-queue-connection* false Session/AUTO_ACKNOWLEDGE)
^QueueReceiver receiver (.createReceiver session (.createQueue session queue))]
(.start *jms-queue-connection*)
(lazy-queue-message-seq receiver)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment