You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2013/06/04 17:44:51 UTC
svn commit: r1489485 -
/activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
Author: tabish
Date: Tue Jun 4 15:44:50 2013
New Revision: 1489485
URL: http://svn.apache.org/r1489485
Log:
Fix for: https://issues.apache.org/jira/browse/AMQ-4571
accounts for nested Destination filters.
Modified:
activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
Modified: activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java?rev=1489485&r1=1489484&r2=1489485&view=diff
==============================================================================
--- activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java (original)
+++ activemq/trunk/activemq-broker/src/main/java/org/apache/activemq/broker/region/DestinationFilter.java Tue Jun 4 15:44:50 2013
@@ -389,8 +389,13 @@ public class DestinationFilter implement
}
public void deleteSubscription(ConnectionContext context, SubscriptionKey key) throws Exception {
- if (next instanceof Topic) {
- ((Topic) next).deleteSubscription(context, key);
+ Destination target = next;
+ while (target instanceof DestinationFilter) {
+ target = ((DestinationFilter) target).next;
+ }
+ if (target instanceof Topic) {
+ Topic topic = (Topic)target;
+ topic.deleteSubscription(context, key);
}
}
}