If you're using a message listener and depending on your prefetch limit size, then mixing AUTO_ACKNOWLEDGE with optimizeAcknowledge can result in unacknowledged messages. Switch to DUPS_OK_ACKNOWLEDGE or drop the use of optimizeAcknowledge.
Joe http://www.ttmsolutions.com Gary Tully wrote: > > What are your consumers doing? What does jconsole say about the queue > depth/memory as the test runs? > > This still sounds like flow control, you have > factory.setProducerWindowSize(1024*1024); which configures a producer > window > which will cause the producer to block if it is full due to slow > consumers. > > possibly try using the sample producer/consumer tools that comes with the > examples[1] or look at the source of those producers/consumers to see if > you > can generate something reproducible. > > One other consideration for steady a enqueue rate is the store. You will > get > near linear performance with KahaDB but with the AMQ store, index resizing > will occasionally cause a blip. > > Happy Christmas! > > [1] http://activemq.apache.org/examples.html > > 2009/12/22 Adrian A <adri...@acta.co.uk> > >> >> Oh, and this is the java for creating connection >> url = >> >> failover:(tcp://mq:61616?wireFormat.cacheEnabled=false&wireFormat.tightEncodingEnabled=false&wireFormat.maxInactivityDuration=0&keepAlive=true)?maxReconnectAttempts=100 >> >> factory = new ActiveMQConnectionFactory(getProperties.getMQURL()); >> factory.setDispatchAsync(false); >> factory.setUseAsyncSend(true); >> factory.setOptimizeAcknowledge(true);//if true this sends acks in >> batches (50% of the pre fetch size) >> factory.setWatchTopicAdvisories(false); >> factory.setCopyMessageOnSend(false); >> ActiveMQPrefetchPolicy pfp = new ActiveMQPrefetchPolicy(); >> pfp.setAll(5000); >> factory.setPrefetchPolicy(pfp); >> factory.setAlwaysSessionAsync(true); >> factory.setProducerWindowSize(1024*1024); >> connection = (ActiveMQConnection) factory.createConnection(); >> >> connection.start(); >> >> Session >> new ActiveMQQueueSession((ActiveMQSession) >> connection.createSession(false, >> Session.AUTO_ACKNOWLEDGE)); >> or >> connection.createSession(false, Session.AUTO_ACKNOWLEDGE); >> >> >> -- >> View this message in context: >> http://old.nabble.com/Slow-sending-of-messages-tp26849964p26891119.html >> Sent from the ActiveMQ - User mailing list archive at Nabble.com. >> >> > > > -- > http://blog.garytully.com > > Open Source Integration > http://fusesource.com > > -- View this message in context: http://old.nabble.com/Slow-sending-of-messages-tp26849964p26903387.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.