-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Provide reaper for (JDBC) channel message store #3871
Comments
Would be great if you elaborate more what exactly such a functionality has to do. |
In a modular application where many modules use Spring Integration but with their own groups, the messages of an abandoned module (version) will stay forever. It would be nice if there was a convenient way to clean those up, especially if the nature of the application determines that messages of a certain age will never be of interest. For this use case, it would be nice to have a convenient way to run this. Currently, I use some SQL to do it, but in a way I regard the SQL schema as an implementation detail, so I dislike relying on it. |
Well, still doesn’t sound as reasonable. This store type is exactly for the What you are saying is still looks like some custom artificial requirement which point to some flaw in the design, so you have some abandoned data somehow. There is a |
I do not find it so strange, most dedicated message queues offer some form of TTL for messages. And it's not so strange to retire modules of applications that might have sent messages that are never consumed, be it because of a bug or something else. The purpose of an API like this is to offer some means for cleaning out a database which will otherwise store data for an undefinite amount of time. With GDPR, worst case storing this data accidentally might even get you in trouble, but I can of course just stick to my custom SQL. |
So, you talk now about "time to live per message", which really has nothing to do with the message group expiration as a part of We have an issue like this #3429, which may improve your experience for the mentioned TTL (if that the case). But that's only if we are on the same page and you don't mix TTL per message with the whole group expiration. |
For my use case, a group is "orphaned" when its no longer read from or written to, but a TTL per message would have the same effect, so I'd be just as happy with that. I would use |
Good. Together with messages streaming for a group in this store abstraction I will look into an iterator implementation similar to the By the way, the In the future this issue we may treat as a holder for the TTL feature. We have an |
There is currently a reaper for a message group store, but not for a channel message store.
At least for a jdbc channel message store the same message removal would be supportable and I wanted to suggest to include its support in the current reaper implementation.
I can offer to implement and contribute this feature if you'd consider it.
The text was updated successfully, but these errors were encountered: