If you use the default ActiveMQ configuration, flow control is enabled. That is why you receive these messages.
If you do not want to use flow control, you can do something like this:
<policyEntry topic="myTopic" producerFlowControl="false">
What this will do is use as much memory as ActiveMQ gives you. Keep in mind, however, that at some point ActiveMQ will start buffering messages through the disk if it thinks you might cause problems for other queues, etc. - This will lead to increased performance because it hits the disks. This is completely different from perseverance. However, if you set a reasonable heap limit for java on startup compared to your full data needs, you should be fine.
, , , , :
<policyEntry topic="myTopic" producerFlowControl="true" memoryLimit="200mb">
<pendingQueuePolicy>
<vmQueueCursor/>
</pendingQueuePolicy>
</policyEntry>
, memoryLimit. , , .
: http://activemq.apache.org/producer-flow-control.html