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

GH-1189: Asynchronous server-side processing in a request/reply scenario #2963

Closed
wants to merge 5 commits into from

Conversation

Wzy19930507
Copy link
Contributor

@Wzy19930507 Wzy19930507 commented Dec 20, 2023

Resolves #1189

  • support Mono and Future
  • support kotlin suspend
  • support auto-delect async reply
  • @SendTo for @KafkaHandler after error is handled

Refactor MessagingMessageListenerAdapter

  • move BatchMessagingMessageListenerAdapter#invoke and RecordMessagingMessageListenerAdapter#invoke to MessagingMessageListenerAdapter
  • move KafkaListenerErrorHandler to MessagingMessageListenerAdapter
  • add @Nullable to KafkaListenerErrorHandler#handleError

* move `BatchMessagingMessageListenerAdapter#invoke` and `RecordMessagingMessageListenerAdapter#invoke` to `MessagingMessageListenerAdapter`
* move `KafkaListenerErrorHandler` to `MessagingMessageListenerAdapter`
* add `@Nullable` to `KafkaListenerErrorHandler`
@sobychacko sobychacko added this to the 3.2.0-M1 milestone Dec 20, 2023
Zhiyang.Wang1 added 2 commits December 21, 2023 15:48
* Support `Mono` and `Future`
* Support auto ack at async return scenario when manual commit
* Support `KafkaListenerErrorHandler`
* Add warn log if the container is not configured for out-of-order manual commit
* Add async return test in `BatchMessagingMessageListenerAdapterTests`
  and `MessagingMessageListenerAdapterTests`
* Add unit test async listener with `@SendTo` in `AsyncListenerTests`
* Add `async-returns.adoc` and `whats-new.adoc`
* Support kotlin suspend
* Add kotlin suspend test, async request/reply with `@KafkaListener` `@KafkaHandler` and `@SendTo`
* Fix async-returns.adoc and async warn log in `MessagingMessageListenerAdapter`
* Add dependency `org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.7.3`
@Wzy19930507 Wzy19930507 changed the title Refactor MessagingMessageListenerAdapter GH-1189: Asynchronous server-side processing in a request/reply scenario Dec 21, 2023
Zhiyang.Wang1 added 2 commits December 28, 2023 14:46
* auto-detect async reply than coerce the out-of-order manual commit.
* add new interface `HandlerMethodDetect` to detect handler args and return type.
* add auto-detect async reply than coerce the out-of-order manual commit unit test at `@KafkaListener` `@KafkaHandler` scene.
* modify async-returns.adoc
…handled

Sending the result from a `KafkaListenerErrorHandler` was broken
for `@KafkaHandler` because the send to expression
was lost.
@artembilan artembilan removed this from the 3.2.0-M1 milestone Jan 16, 2024
@artembilan
Copy link
Member

@Wzy19930507 ,

please, rebase your branch to the latest main.

Then we will start looking into your change to incorporate it into a new version.

Thanks

@Wzy19930507 Wzy19930507 deleted the refactor-mmla branch January 18, 2024 01:48
@Wzy19930507 Wzy19930507 restored the refactor-mmla branch January 18, 2024 01:49
@Wzy19930507 Wzy19930507 deleted the refactor-mmla branch January 18, 2024 01:52
@Wzy19930507
Copy link
Contributor Author

@artembilan @sobychacko Sorry, I accidentally shut down this PR. other one has been reopened.

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

Successfully merging this pull request may close these issues.

Asynchronous server-side processing in a request/reply scenario
3 participants