diff --git a/pom.xml b/pom.xml index 7bb1948..9bcb3d3 100644 --- a/pom.xml +++ b/pom.xml @@ -36,7 +36,7 @@ com.amazonaws aws-java-sdk - 1.1.5 + 1.3.21.1 diff --git a/src/main/clojure/cemerick/bandalore.clj b/src/main/clojure/cemerick/bandalore.clj index b5443d4..a58940c 100644 --- a/src/main/clojure/cemerick/bandalore.clj +++ b/src/main/clojure/cemerick/bandalore.clj @@ -25,16 +25,17 @@ (AmazonSQSClient. (com.amazonaws.auth.BasicAWSCredentials. id secret-key) (.withUserAgent client-config "Bandalore - SQS for Clojure")))) +(def ^{:private true} visibility-warned? (atom false)) + (defn create-queue "Creates a queue with the given name, returning the corresponding URL string. - Returns successfully if the queue already exists. - - Specify an optional :visibility keyword arg to set the new queue's default - visibility timeout in seconds." - [^AmazonSQSClient client queue-name & {:keys [visibility]}] - (->> (if visibility - (CreateQueueRequest. queue-name visibility) - (CreateQueueRequest. queue-name)) + Returns successfully if the queue already exists." + [^AmazonSQSClient client queue-name & {:as options}] + (when (and (:visibility options) (not @visibility-warned?)) + (println "[WARNING] :visibility option to cemerick.bandalore/create-queue no longer supported;") + (println "[WARNING] See https://github.com/cemerick/bandalore/issues/3") + (reset! visibility-warned? true)) + (->> (CreateQueueRequest. queue-name) (.createQueue client) .getQueueUrl)) @@ -113,9 +114,9 @@ :or {limit 1 attributes #{}}}] (let [req (-> (ReceiveMessageRequest. queue-url) - (.withMaxNumberOfMessages (-> limit (min 10) (max 1) Integer.)) + (.withMaxNumberOfMessages (-> limit (min 10) (max 1) int Integer.)) (.withAttributeNames attributes)) - req (if visibility (.withVisibilityTimeout req (Integer. visibility)) req)] + req (if visibility (.withVisibilityTimeout req (Integer. (int visibility))) req)] (->> (.receiveMessage client req) .getMessages (map (partial message-map queue-url)))))