-
Notifications
You must be signed in to change notification settings - Fork 6
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
Streaming query - (Flux as Query handler return type) #3
Comments
Hi, news this topic ? |
Sorry for the delay here @sateliermartin. @stefanvozd was working on this, but it's been put on hold for the time being due to more pressing issues on other projects. |
This feature is being planned, and we hope that we can release it in Axon Framework 4.6. |
Any ideas on when you’re targeting 4.6 then to be available? |
Obviously thanks for looking forward to the upcoming release @dvins. So, I can't go further than "expect it this year." |
Update: This feature will be part of Axon Framework core, while reactive extension will add support for reactive interceptors |
Closing this issue, as Axon Framework as off this pull request has integrated support for Streaming Queries. |
The Streaming query allows a client to stream large database result sets. The Streaming query relies on the reactive stream model, specifically the
Flux
type.The streaming query is flexible enough to be used with any query return type. That means that any return type that is not Flux will automatically be converted to Flux, based on that Flux will return single or multiple items.
Natively, if we want fine-grained control of the producing stream we can use Flux as return type:
@QueryHandler fun handleQuery(query: GetAllUsersQuery): Flux<UserView> { return repository.findAll() }
When using Flux as a return type, we can control backpressure, stream cancellation and implement more complex features like pagination.
Update: This feature will be part of Axon Framework core, while reactive extension will add support for reactive interceptors
The text was updated successfully, but these errors were encountered: