[ https://issues.apache.org/activemq/browse/AMQ-370?page=all ] Hiram Chirino resolved AMQ-370: -------------------------------
Fix Version: 4.0 Resolution: Fixed Exponential redeliveries are now implemented on the client side correctly in activemq 4.0. I would recommend you upgrade to 4.0. > Sleeping time between redeliveries > ---------------------------------- > > Key: AMQ-370 > URL: https://issues.apache.org/activemq/browse/AMQ-370 > Project: ActiveMQ > Type: Improvement > Reporter: Daniel Aioanei > Fix For: 4.0 > > > The method org.activemq.service.impl.SubscriptionImpl.getMessagesToDispatch > seems to wait synchronously until the next redelivery is due for each message > to be retried. This means that for each message that needs be redelivered > let's say the next day, there will be a thread that's going to be sleeping > for a whole day. I think there is a lot of space for improvement here, but > please correct me if I didn't understand the code correctly. > if (redeliveryPolicy.isBackOffMode() > && msg.getDeliveryCount() < > redeliveryPolicy.getMaximumRetryCount()) { > long sleepTime = > redeliveryPolicy.getInitialRedeliveryTimeout(); > sleepTime *= (msg.getDeliveryCount() * > redeliveryPolicy.getBackOffIncreaseRate()); > try { > Thread.sleep(sleepTime); > } > catch (InterruptedException e) { > } > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira