Skip to content
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

Feature: add the ability to recover messages when using batching using Retry Interceptors #1127

Closed
andrebrait opened this issue Nov 26, 2019 · 2 comments · Fixed by #1128
Closed
Assignees
Milestone

Comments

@andrebrait
Copy link
Contributor

Affects Version(s): 2.2.1.RELEASE

Enhancement

When using batching in listeners with a List parameter, if an exception is thrown, there's no way to recover from it using a retry interceptor since

throws a ClassCastException.

What I think could be done is to have either some other way to use a retry recoverer or detect the proper argument type (i.e. List of messages instead of a single message) and loop over them, although I'm not sure what would be the best approach

@garyrussell garyrussell added this to the 2.2.2 milestone Nov 26, 2019
@garyrussell
Copy link
Contributor

garyrussell commented Nov 26, 2019

Yes, we should fix this, but bear in mind that "recovering" from a failed delivery of a batch is difficult because the framework (and hence the recoverer) has no inherent knowledge which message in the batch failed (when it's a consumer-created batch that is; for a producer-created batch, there is only one message).

@garyrussell garyrussell self-assigned this Nov 26, 2019
garyrussell added a commit to garyrussell/spring-amqp that referenced this issue Nov 26, 2019
garyrussell added a commit to garyrussell/spring-amqp that referenced this issue Nov 26, 2019
artembilan pushed a commit that referenced this issue Nov 27, 2019
@andrebrait
Copy link
Contributor Author

Thanks for this, guys!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants