You’re using the SimpleQueryBus, and all query handling is performed in the same thread that dispatches the query; it’s thus possible the observed latency is due to your data retrieval in handling the query.
Sure, since SimpleQueryBus itself doesn’t employ any threading, you can hand off query execution to a separate executor and return the CompletableFuture.