Repository navigation
Conversation
| } | ||
|
|
||
| @Override | ||
| public void flushIntermediateReferences() { |
Contributor
There was a problem hiding this comment.
If you need this operation public, I would rather rename doInternalPoll as flushIntermediateReferences and make it public. update all the method calls to that public method instead.
I would prefer this method to not be public on Queue interface though. However if this would mean adding a lot of code just for that, so leave it public, but rename the method instead of a one-on-one delegation.
Contributor
Author
There was a problem hiding this comment.
Renamed doInternalPoll to flushIntermediateReferences.
A retained message is routed to its retain queue asynchronously, so it initially sits in the queue's list of "intermediate" references pending delivery. Retain queues have no consumers, so the only thing which moves it into the main list of references is the queue's executor. If a client subscribes before that happens the broker must still find the retained message rather than silently skipping it. Therefore, the retained message manager flushes the intermediate references before iterating over the messages. Assisted-by: Claude
jbertram
force-pushed
the
ARTEMIS-6294
branch
from
October 12, 2026 15:45
95641f2 to
18b704d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
A retained message is routed to its retain queue asynchronously, so it initially sits in the queue's list of "intermediate" references pending delivery. Retain queues have no consumers, so the only thing which moves it into the main list of references is the queue's executor. If a client subscribes before that happens the broker must still find the retained message rather than silently skipping it. Therefore, the retained message manager flushes the intermediate references before iterating over the messages.
Assisted-by: Claude