Author: chirino
Date: Wed May 21 10:31:27 2008
New Revision: 658776
URL: http://svn.apache.org/viewvc?rev=658776&view=rev
Log:
Fix issues where the message's regionDestination was not matching up with the
actual region destination it was being deliver from
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/PrefetchSubscription.java
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java?rev=658776&r1=658775&r2=658776&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
Wed May 21 10:31:27 2008
@@ -109,7 +109,7 @@
for (Iterator iter = destinations.iterator(); iter.hasNext();) {
Destination dest = (Destination)iter.next();
- dest.send(context, message);
+ dest.send(context, message.copy());
}
}
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/PrefetchSubscription.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/PrefetchSubscription.java?rev=658776&r1=658775&r2=658776&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/PrefetchSubscription.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/PrefetchSubscription.java
Wed May 21 10:31:27 2008
@@ -139,7 +139,7 @@
public void add(MessageReference node) throws Exception {
synchronized (pendingLock) {
// The destination may have just been removed...
- if( !destinations.contains(node.getRegionDestination()) ) {
+ if( !destinations.contains(node.getRegionDestination()) &&
node!=QueueMessageReference.NULL_MESSAGE) {
// perhaps we should inform the caller that we are no longer
valid to dispatch to?
return;
}