- update sqs namespace to use the AmazonSQS interface rather than the implementation class AmazonSqsClient to allow injecting other AmazonSQS implementations.
- protect clients from aggressive consumer dequeueing when the SQS client returns an exception.
introduces new configuration option,
:exceptional-poll-delay-ms
, with a new default behavior of timing out for 10 seconds if an exception occurs when dequeueing. (thanks @stephencrampton!) - by default, use
.getStringValue
when clojurifying MessageAttributeValue objects. (thanks @danieltdt!)
- refactor consumer implementation to shorten class file names (#43).
- option to run listeners in dedicated threads instead of in core.async go threads (#37).
- no changes from
1.0.0-beta2
.
- support FIFO message attributes in
com.climate.squeedo.sqs/enqueue
via:message-group-id
and:message-deduplication-id
.
- BREAKING
- queue attributes are only set via
com.climate.squeedo.sqs/configure-queue
(replacescom.climate.squeedo.sqs/set-queue-attrubutes
from 0.2.2).com.climate.squeedo.sqs/configure-queue
will create the specified queue (and dead letter queue) if it does not exist.- removed attribute options from
com.climate.squeedo.sqs/mk-connection
. this function now only makes a connection and returns a reusable connection object. aQueueDoesNotExistException
exception will be thrown if the queue does not exist (for convenience,com.climate.squeedo.sqs/configure-queue
can be used to create the queue first). - removed dead letter queue option in
com.climate.squeedo.sqs-consumer/start-consumer
. usecom.climate.squeedo.sqs/configure-queue
to set up dead letter queue. - removed the default behavior of creating a dead letter queue when starting a consumer.
- queue attributes are only set via
- fix default dead letter queue in SQS consumer when queue is a FIFO queue
- support creating a FIFO queue when connecting to one that does not exist
- support and validate FIFO queue names (thanks @lainiewright!)
- BREAKING
- queue attributes are only set when
com.climate.squeedo.sqs/mk-connection
creates a new sqs queue- if an existing queue is found, queue attributes are not applied (this includes dead-letter/redrive configuration)
- squeedo will emit a
WARN
log when this occurs - allows reading from queues that already exist for consumers without create permissions (#34)
- new api function,
com.climate.squeedo.sqs/set-queue-attributes
, which allows ad-hoc calls to set attributes for those who need it
- support binary message attributes (#30)
- remove bandalore as a source dependency
- queue attributes are only set when
- consumer middleware for deserialization and exception logging
- adjustable visibility timeout in consumer api via
:nack timeout
- updated deps:
[org.clojure/core.async "0.3.442"]