diff options
| author | Robert Gemmell <robbie@apache.org> | 2010-09-18 21:17:55 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2010-09-18 21:17:55 +0000 |
| commit | 43352c738b13a0aae538e62e627f1461a80d0ec1 (patch) | |
| tree | 89d46876d0d0f57cebf3c0cd469c8094b3b218d8 /java/broker | |
| parent | b2ddfb386b3cd8b4f595a0fe3f77da94807282b1 (diff) | |
| download | qpid-python-43352c738b13a0aae538e62e627f1461a80d0ec1.tar.gz | |
QPID-2695: use exchangeName variable instead of exchange variable when logging during binding recovery to guard against NPEs, and check for exchange presence to prevent the BindingFactory incorrectly binding to the default exchange
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@998544 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker')
| -rwxr-xr-x | java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java index 635155d1b0..96a9ac729e 100755 --- a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java +++ b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostConfigRecoveryHandler.java @@ -219,18 +219,20 @@ public class VirtualHostConfigRecoveryHandler implements ConfigurationRecoveryHa _actions = new ArrayList<ProcessAction>(); try { - QueueRegistry queueRegistry = _virtualHost.getQueueRegistry(); Exchange exchange = _virtualHost.getExchangeRegistry().getExchange(exchangeName); - AMQQueue queue = queueRegistry.getQueue(new AMQShortString(queueName)); + if (exchange == null) + { + _logger.error("Unknown exchange: " + exchangeName + ", cannot bind queue : " + queueName); + return; + } + + AMQQueue queue = _virtualHost.getQueueRegistry().getQueue(new AMQShortString(queueName)); if (queue == null) { - _logger.error("Unknown queue: " + queueName + " cannot be bound to exchange: " - + exchange.getNameShortString()); + _logger.error("Unknown queue: " + queueName + ", cannot be bound to exchange: " + exchangeName); } else { - - FieldTable argumentsFT = null; if(buf != null) { @@ -249,7 +251,6 @@ public class VirtualHostConfigRecoveryHandler implements ConfigurationRecoveryHa bf.restoreBinding(bindingKey, queue, exchange, argumentMap); } - } } catch (AMQException e) |
