Hi

Thanks for your reply.

I tried using the pendingMessageLimitStrategy, but I think I must be using
it wrong as it seems to have no effect. I still get a large queue of pending
messages on the server, while the client gets further and further behind.
What I'm expecting is for the server to discard messages and for the client
to see gaps in its stream, but never to fall too far behind.

I'm using apache-activemq-5.7.0 with apache.nms.stomp-1.5.3 on Windows
7/2008.

Here's my config:

    <broker persistent="false"
xmlns="http://activemq.apache.org/schema/core"; brokerName="localhost">
        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">">
                    <subscriptionRecoveryPolicy>
                        <lastImageSubscriptionRecoveryPolicy/>
                    </subscriptionRecoveryPolicy>
                    <pendingMessageLimitStrategy>
                        <constantPendingMessageLimitStrategy limit="1"/>
                    </pendingMessageLimitStrategy>
                </policyEntry>
...

I'm pumping short messages through at about 2000 messages per second, spread
evenly across 1000 topics.

I create the client first, and then run the server at 2000 msgs/s. I can see
the client receiving only about 500 messages per second (with large stutters
where it receives nothing for a few seconds). It appears to receive every
message in sequence, so nothing is being discarded. Meanwhile the server
gets further and further ahead, until the broker hits 1GB of main memory and
then slows the producer down.

Do I need to do something else to get the broker to discard messages more
aggressively?

Thanks again,

Ben



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/ActiveMQ-slow-consumer-policy-tp4660859p4660881.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to