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;
             }


Reply via email to