Author: rajdavies
Date: Tue Sep 2 05:22:51 2008
New Revision: 691214
URL: http://svn.apache.org/viewvc?rev=691214&view=rev
Log:
reset redivery counter on retryMessage() - and speed it up a little -
for https://issues.apache.org/activemq/browse/AMQ-1909
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/QueueView.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/QueueView.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/QueueView.java?rev=691214&r1=691213&r2=691214&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/QueueView.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/QueueView.java
Tue Sep 2 05:22:51 2008
@@ -100,10 +100,12 @@
Queue queue = (Queue) destination;
Message rc = queue.getMessage(messageId);
if (rc != null) {
+ rc = rc.copy();
+ rc.getMessage().setRedeliveryCounter(0);
ActiveMQDestination originalDestination =
rc.getOriginalDestination();
if (originalDestination != null) {
ConnectionContext context =
BrokerView.getConnectionContext(broker.getContextBroker());
- return queue.moveMessageTo(context, messageId,
originalDestination);
+ return queue.moveMessageTo(context, rc, originalDestination);
}
else {
throw new JMSException("No original destination for message:
"+ messageId);
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java?rev=691214&r1=691213&r2=691214&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java
Tue Sep 2 05:22:51 2008
@@ -850,6 +850,20 @@
} while (count < this.destinationStatistics.getMessages().getCount());
return movedCounter;
}
+
+ /**
+ * Move a message
+ * @param context
+ * @param r
+ * @param dest
+ * @throws Exception
+ */
+ public boolean moveMessageTo(ConnectionContext context,Message
m,ActiveMQDestination dest) throws Exception {
+ QueueMessageReference r = createMessageReference(m);
+ BrokerSupport.resend(context, m, dest);
+ removeMessage(context, r);
+ return true;
+ }
/**
* Moves the message matching the given messageId