Receives a message from a queue. This call will force a network trip to HornetQ server to ensure that there are no messages in the queue which can be delivered to this consumer.
This call will never wait indefinitely for a message, it will return {@code null} if nomessages are available for this consumer.
Note however that there is a performance cost as an additional network trip to the server may required to check the queue status.
Calling this method on a closed consumer will throw a HornetQException.
@return a message or {@code null} if there are no messages in the queue for this consumer
@throws HornetQException if an exception occurs while waiting to receive a message