You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ra...@apache.org on 2008/12/03 00:59:11 UTC
svn commit: r722683 -
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
Author: rajdavies
Date: Tue Dec 2 15:59:11 2008
New Revision: 722683
URL: http://svn.apache.org/viewvc?rev=722683&view=rev
Log:
Fix for https://issues.apache.org/activemq/browse/AMQ-2015
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java?rev=722683&r1=722682&r2=722683&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java Tue Dec 2 15:59:11 2008
@@ -382,30 +382,32 @@
}
protected Destination lookup(ConnectionContext context, ActiveMQDestination destination) throws Exception {
+ Destination dest = null;
synchronized (destinationsMutex) {
- Destination dest = destinations.get(destination);
- if (dest == null) {
- if (autoCreateDestinations) {
- // Try to auto create the destination... re-invoke broker
- // from the
- // top so that the proper security checks are performed.
- try {
-
- context.getBroker().addDestination(context, destination);
- dest = addDestination(context, destination);
- } catch (DestinationAlreadyExistsException e) {
- // if the destination already exists then lets ignore
- // this error
- }
- // We should now have the dest created.
- dest = destinations.get(destination);
+ dest = destinations.get(destination);
+ }
+ if (dest == null) {
+ if (autoCreateDestinations) {
+ // Try to auto create the destination... re-invoke broker
+ // from the
+ // top so that the proper security checks are performed.
+ try {
+ context.getBroker().addDestination(context, destination);
+ dest = addDestination(context, destination);
+ } catch (DestinationAlreadyExistsException e) {
+ // if the destination already exists then lets ignore
+ // this error
}
- if (dest == null) {
- throw new JMSException("The destination " + destination + " does not exist.");
+ // We should now have the dest created.
+ synchronized (destinationsMutex) {
+ dest = destinations.get(destination);
}
}
- return dest;
+ if (dest == null) {
+ throw new JMSException("The destination " + destination + " does not exist.");
+ }
}
+ return dest;
}
public void processDispatchNotification(MessageDispatchNotification messageDispatchNotification) throws Exception {