Return-Path: X-Original-To: apmail-activemq-commits-archive@www.apache.org Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D49B710338 for ; Thu, 20 Mar 2014 17:44:40 +0000 (UTC) Received: (qmail 25101 invoked by uid 500); 20 Mar 2014 17:44:40 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 25063 invoked by uid 500); 20 Mar 2014 17:44:39 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 23182 invoked by uid 99); 20 Mar 2014 17:44:13 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 20 Mar 2014 17:44:13 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 33BED986810; Thu, 20 Mar 2014 17:44:12 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: hadrian@apache.org To: commits@activemq.apache.org Date: Thu, 20 Mar 2014 17:44:14 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [03/29] git commit: https://issues.apache.org/jira/browse/AMQ-4995 - more fixes 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/b1a01259 Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/b1a01259 Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/b1a01259 Branch: refs/heads/activemq-5.9 Commit: b1a01259603049c51f2efa0e4a1e8b5fc6624609 Parents: 008698c Author: Dejan Bosanac Authored: Tue Jan 28 16:08:53 2014 +0100 Committer: Hadrian Zbarcea Committed: Thu Mar 20 13:02:24 2014 -0400 ---------------------------------------------------------------------- .../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/b1a01259/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 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 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/b1a01259/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 01072b1..dba013c 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) {