ARTEMIS-3719 DLA and expiry incorrect w/temp-queue-namespace #3984
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using a temporary queue with a
temporary-queue-namespace
theAddressSettings
lookup wasn't correct. This commit fixes that andrefactors
QueueImpl
a bit so that it holds a copy of itsAddressSettings
rather than looking them up all the time. If anyrelevant
AddressSettings
changes theHierarchicalRepositoryChangeListener
implementation will stillrefresh the
QueueImpl
appropriately.The
QueueControlImpl
was likewise changed to get the dead-letteraddress and expiry address directly from the
QueueImpl
rather thanlooking them up in the
AddressSettings
repository.I modified some code that came from ARTEMIS-734, but I ran the test that
was associated with that Jira (i.e.
o.a.a.a.t.i.c.d.ExpireWhileLoadBalanceTest
) and it passed so I thinkthat should be fine. There actually was no test included with the
original commit. One was added later so it's hard to say for sure it
exactly captures the original issue.