You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2013/10/05 20:24:45 UTC
svn commit: r1529492 -
/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
Author: kwall
Date: Sat Oct 5 18:24:45 2013
New Revision: 1529492
URL: http://svn.apache.org/r1529492
Log:
QPID-5205: Change ExchangeAdapter to return a model exchange object for alternate exchange
This avoids the possibility of a StackOverflowException when viewing an exchange were a alternate has been
set at declare time (0-10 only).
Modified:
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java?rev=1529492&r1=1529491&r2=1529492&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java Sat Oct 5 18:24:45 2013
@@ -32,6 +32,7 @@ import org.apache.qpid.AMQInternalExcept
import org.apache.qpid.AMQSecurityException;
import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFinder;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Publisher;
@@ -41,7 +42,6 @@ import org.apache.qpid.server.model.Stat
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.util.MapValueConverter;
import org.apache.qpid.server.virtualhost.RequiredExchangeException;
-import org.apache.qpid.server.virtualhost.VirtualHost;
final class ExchangeAdapter extends AbstractAdapter implements Exchange, org.apache.qpid.server.exchange.Exchange.BindingListener
{
@@ -126,9 +126,6 @@ final class ExchangeAdapter extends Abst
Map<String, Object> attributes)
throws AccessControlException, IllegalStateException
{
- VirtualHost virtualHost = _vhost.getVirtualHost();
-
-
AMQQueue amqQueue = ((QueueAdapter)queue).getAMQQueue();
try
@@ -350,7 +347,10 @@ final class ExchangeAdapter extends Abst
}
else if(ALTERNATE_EXCHANGE.equals(name))
{
- return _exchange.getAlternateExchange();
+ org.apache.qpid.server.exchange.Exchange alternateExchange = _exchange.getAlternateExchange();
+ return alternateExchange == null ? null :
+ ConfiguredObjectFinder.findConfiguredObjectByName(_vhost.getExchanges(),
+ alternateExchange.getName());
}
else if(TYPE.equals(name))
{
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org