-
Notifications
You must be signed in to change notification settings - Fork 1.1k
GH-3334: Add "embedded reaper" into CorrelationMH #3342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
If this is OK, I'll go ahead with Java DSL and XML options. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM to proceed with other changes (and fix travis checkstyle).
* When the {@link #expireTimeout} is more than 0, the groups which older then this timeout | ||
* is purged from the store on start up (or when {@link #purgeOrphanedGroups()} is called). | ||
* If {@link #expireDuration} is provide, the task is scheduled to perform | ||
* {@link #purgeOrphanedGroups()} periodically. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* When the {@link #expireTimeout} is more than 0, the groups which older then this timeout | |
* is purged from the store on start up (or when {@link #purgeOrphanedGroups()} is called). | |
* If {@link #expireDuration} is provide, the task is scheduled to perform | |
* {@link #purgeOrphanedGroups()} periodically. | |
* When the {@link #expireTimeout} is greater than 0, groups which are older than this timeout | |
* are purged from the store on start up (or when {@link #purgeOrphanedGroups()} is called). | |
* If {@link #expireDuration} is provides, the task is scheduled to perform | |
* {@link #purgeOrphanedGroups()} periodically. |
* Used on startup and if {@link #expireDuration} is provided the task for {@link #purgeOrphanedGroups()} | ||
* is scheduled with that period. | ||
* The {@link #forceReleaseProcessor} is used to process those expired groups according | ||
* the "force complete" options. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Used on startup and if {@link #expireDuration} is provided the task for {@link #purgeOrphanedGroups()} | |
* is scheduled with that period. | |
* The {@link #forceReleaseProcessor} is used to process those expired groups according | |
* the "force complete" options. | |
* Used on startup and when an {@link #expireDuration} is provided, the task for running | |
* {@link #purgeOrphanedGroups()} is scheduled with that period. | |
* The {@link #forceReleaseProcessor} is used to process those expired groups according | |
* the "force complete" options. A group can be orphaned if a persistent message group | |
* store is used and no new messages arrive for that group after a restart. |
Fixes spring-projects#3334 * Add `expireTimeout` property into `AbstractCorrelatingMessageHandler` to call newly introduced `purgeOrphanedGroups()` API for removing old groups from the store * Add `expireDuration` to perform `purgeOrphanedGroups()` task periodically
…n` options * Document the new feature
.../main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java
Outdated
Show resolved
Hide resolved
Co-authored-by: Gary Russell <[email protected]>
Some problem with Flux aggregator test in travis - maybe not related but suspicious given this code is in the aggregator. |
No, not related. I so it failing here on Travis before. |
Fixes #3334
expireTimeout
property intoAbstractCorrelatingMessageHandler
to call newly introduced
purgeOrphanedGroups()
API for removing oldgroups from the store
expireDuration
to performpurgeOrphanedGroups()
task periodically