How does Axon use gRPC streams?

Hello! Thank you for your time.
My question could be seen in the topic, so I want to explain the case where I need implementation gRPC streams in Axon.

I have an application that stores a lot of data, also I have a REST endpoint to create a XLS file based on those data. Internaly I send a Query to my projection to collect data. So, assuming that query is based on a Message, when data is big it could exceed maximum Message size which is 4,2 Mb.

I read about gRPC streams and wonder whether axon uses somehow gRPC streams ? In case I wouldn’t want to manually increase maximum message size in settings.

Hello! Thanks again for reading this post.

Any comments on the question above ? :slight_smile:

Axon does indeed use gRPC streams to send messages between clients. If your query response exceeds the maximum message size (4MB) you need to customize the maximum message size both for the client applications and for Axon Server.
For the client the property to set is axon.axonserver.max-message-size, for the server the property is axoniq.axonserver.max-message-size. You need to set both, as Axon Server should be able to receive the message from the query handler and the client needs to be able to receive the message from Axon Server.

Hello, Marc, thank you for your answer!

My case was to Query some data for building a xls file, and that data handled in a message could be about 100 mb, is it the best way to use axon Query to build such a big file ?

Or there is could be some another way in Axon ?