How does activemq push records to prefetch buffer at receiver end
Extremely basic setup to raise my questions:
1. I have a queue based setup with a single producer and a single consumer.
2. Connections are made through a JMS client on both ends.
3. Default configurations overall.
4. For the receiving side I have an implementation of Listener where I
ingest messages through onMessage().
So, whenever onMessage() gets me a message, this basically comes from the
prefetch buffer which has already received the messages from the broker, but
the acknowledgement will be sent after completion of onMessage() method.
Also, this prefetch folder is filled before-hand after the atleast 50%
messages in it are consumed and acknowledged.
1. Is some internal service in activemq jar invoked that connects to and
requests data from queue?
2. I have read at multiple locations that activemq(and JMS too i think) does
not employ polling to get data. Instead, messages are pushed to the
receiver. Is this correct? If so, how is the data pushed without requesting
for it. Is it through dedicated websocket channel(s)?