When flow_control is disabled (the default setting), the server does not enforce any flow control on destinations. When flow_control is enabled, the server enforces any flow control settings specified for each destination.
The EMS server will slow down the producers to the rate required by the message consumers according to EMS server's internal running mechanism. EMS server does this by blocking the
producer calling send() until some messages are consumed thus the total messages count becomes less then the threshold value.
The client library will hold off ( using object.wait() ) transmitting the data until the server tells it the status is relieved.