1/ The tutorial is showing JMS/AMQP example and the call is blocking for a configurable amount of time :
Message reply = context.createConsumer(replyToQueue).receive(REPLY_TIMEOUT_MS);
If you look at other protocol like SMF, you can use both blocking and non blocking request :
2/ you’re right, I forgot about the microgateway. if the broker is configured in a microgateway mode, you can get request/reply behavior.
I’ve not used it myself, so I just know the theory about it ?