diff options
Diffstat (limited to 'java')
| -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) |
