Skip to content

Conversation

@vpavic
Copy link
Contributor

@vpavic vpavic commented Sep 10, 2025

This commit adds support for caching jakarta.jms.Queue objects created by SQSSession#createQueue in order to avoid excessive calls to SQS API to resolve queue URL. The caching is disabled by default and is configurable using ProviderConfiguration.


@ziyanli-amazon could you please review this? This change provides option for significant optimization in high-volume workloads with Spring's DynamicDestinationResolver and was inspired by similar logic in ActiveMQ Artemis:
https://github.com/apache/activemq-artemis/blob/9d75881e31e110cc656127ff68477f09a036e9ef/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQSession.java#L578-L588

I didn't add the tests for caching logic yet (hence opening this as draft), just made sure everything builds fine with the existing defaults. If you consider this a useful change I'll proceed to add the needed tests.

This commit adds support for caching `jakarta.jms.Queue` objects created
by `SQSSession#createQueue` in order to avoid excessive calls to SQS API
to resolve queue URL. The caching is disabled by default and is
configurable using `ProviderConfiguration`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant