Java SQS Listener library built to be customisable and dynamic during runtime
QueueContainerService
was renamed to MessageListenerContainerCoordinator as its only responsibility is coordinating starting and stopping of containers and "Service" is pretty generic.QueueWrapper
to MessageListenerContainerFactory as these are building these containers from beans.QueueResolverService
to QueueResolver because it only resolves queue URLs and doesn't need to be a generic "service"java-dynamic-sqs-listener
from example modules to make it easier to read. https://github.com/JaidenAshmore/java-dynamic-sqs-listener/commit/d4dad4d8e0fe1398b5b62d07de38db634aab982c
SqsAsyncClients
. See Docs - How to Connect to Multiple AWS Accounts for a guide. https://github.com/JaidenAshmore/java-dynamic-sqs-listener/commit/b70b903081b668a730a02ed7411db0bc4494f640
@EnableSqs
which will enable the framework when it is used. https://github.com/JaidenAshmore/java-dynamic-sqs-listener/commit/153d8c9d952e1bb730a6594de7f0b8f091bf1f58
MessageRetrievers
was not being followed when the thread was interrupted during the call to get more messages from the SqsAsyncClient
but before we wait on the CompletableFuture
. https://github.com/JaidenAshmore/java-dynamic-sqs-listener/commit/c5d2f5e36f2a144971c93b3f15b58e653ee7288c
{queueName}-dlq
. https://github.com/JaidenAshmore/java-dynamic-sqs-listener/commit/7a789f4c2f822ee619be2659fef831df7f6380bc
public class MyListener {
@QueueListener("queueName")
public void myMethod(Message message) {
// do something with the raw message
}
}
public class MyListener {
@QueueListener("queueName")
public void myMethod(@MessageAttribute("key") String attribute) {
// do something
}
@QueueListener("otherQueueName")
public void myMethod(@MessageSystemAttribute(SENT_TIMESTAMP) String systemAttribute) {
// do something
}
}
@QueueListener(value = "something", concurrencyLevelString="$something.concurrencyLevel}")
and the application.yml has
something:
concurrencyLevel: 2
catch (Throwable throwable)
for catching exceptions as this can catch Errors like an OutOfMemoryError
. https://github.com/JaidenAshmore/java-dynamic-sqs-listener/commit/117036dde6a4e32dba9c56a6cfb6b995950798e8
Start of Release Documentation Tracking