You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2014/01/28 16:09:45 UTC
git commit: https://issues.apache.org/jira/browse/AMQ-4995 - more
fixes
Updated Branches:
refs/heads/trunk 55da9bc82 -> 713250f5f
https://issues.apache.org/jira/browse/AMQ-4995 - more fixes
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/713250f5
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/713250f5
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/713250f5
Branch: refs/heads/trunk
Commit: 713250f5f0439e4f83de1550fe21068184f17f87
Parents: 55da9bc
Author: Dejan Bosanac <de...@nighttale.net>
Authored: Tue Jan 28 16:08:53 2014 +0100
Committer: Dejan Bosanac <de...@nighttale.net>
Committed: Tue Jan 28 16:08:53 2014 +0100
----------------------------------------------------------------------
.../activemq/broker/region/AbstractRegion.java | 25 +++++++++++++-------
.../plugin/RuntimeConfigurationBroker.java | 5 ++--
2 files changed, 19 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/713250f5/activemq-broker/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java b/activemq-broker/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
index 7f7b7e4..2d1171d 100755
--- a/activemq-broker/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
@@ -583,16 +583,23 @@ public abstract class AbstractRegion implements Region {
}
public void reapplyInterceptor() {
- DestinationInterceptor destinationInterceptor = broker.getDestinationInterceptor();
- Map<ActiveMQDestination, Destination> map = getDestinationMap();
- for (ActiveMQDestination key : map.keySet()) {
- Destination destination = map.get(key);
- if (destination instanceof CompositeDestinationFilter) {
- destination = ((CompositeDestinationFilter)destination).next;
+ destinationsLock.writeLock().lock();
+ try {
+ DestinationInterceptor destinationInterceptor = broker.getDestinationInterceptor();
+ Map<ActiveMQDestination, Destination> map = getDestinationMap();
+ for (ActiveMQDestination key : map.keySet()) {
+ Destination destination = map.get(key);
+ if (destination instanceof CompositeDestinationFilter) {
+ destination = ((CompositeDestinationFilter) destination).next;
+ }
+ if (destinationInterceptor != null) {
+ destination = destinationInterceptor.intercept(destination);
+ }
+ getDestinationMap().put(key, destination);
+ destinations.put(key, destination);
}
- destination = destinationInterceptor.intercept(destination);
- getDestinationMap().put(key, destination);
- destinations.put(key, destination);
+ } finally {
+ destinationsLock.writeLock().unlock();
}
}
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/713250f5/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java
----------------------------------------------------------------------
diff --git a/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java b/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java
index 73c172d..b11b529 100644
--- a/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java
+++ b/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java
@@ -552,6 +552,7 @@ public class RuntimeConfigurationBroker extends BrokerFilter {
public void run() {
boolean updatedExistingInterceptor = false;
+ RegionBroker regionBroker = (RegionBroker) getBrokerService().getRegionBroker();
for (DestinationInterceptor destinationInterceptor : getBrokerService().getDestinationInterceptors()) {
if (destinationInterceptor instanceof VirtualDestinationInterceptor) {
@@ -577,11 +578,11 @@ public class RuntimeConfigurationBroker extends BrokerFilter {
DestinationInterceptor[] destinationInterceptors = interceptorsList.toArray(new DestinationInterceptor[]{});
getBrokerService().setDestinationInterceptors(destinationInterceptors);
- RegionBroker regionBroker = (RegionBroker) getBrokerService().getRegionBroker();
+
((CompositeDestinationInterceptor) regionBroker.getDestinationInterceptor()).setInterceptors(destinationInterceptors);
info("applied new: " + interceptorsList);
- regionBroker.reapplyInterceptor();
}
+ regionBroker.reapplyInterceptor();
}
});
} else if (o instanceof DtoPolicyEntry) {