Hi Jonathan,
Thank you for your response. Yes, it often is, but what I‘m trying to say is that it doesn’t have to be — if you already have the information the user is waiting for in the aggregate. Polling adds unwanted load to your system. On the other hand, the query side can be easily and safely scaled horizontally to deal with extra load.
Of course it is all a trade-off. If you poll you are waiting for the guarantee that eventual consistency was achieved. If you return the response from the command handler on the aggregate you know you are doing so possibly before the system is in a consistent state. This is what I love about this whole approach using Axon: It forces you to deeply consider the behaviour of the system.
Lastly, a word of caution: Don’t use commands as queries in drag to expose data from the aggregate. That will indicate that your modelling is not yet right.
Cheers