summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker/src')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
index 2fa7899572..de626a7639 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
@@ -994,7 +994,22 @@ public final class VirtualHostAdapter extends AbstractAdapter implements Virtual
{
if (desiredState == State.ACTIVE)
{
- activate();
+ try
+ {
+ activate();
+ }
+ catch(RuntimeException e)
+ {
+ changeAttribute(STATE, State.INITIALISING, State.ERRORED);
+ if (_broker.isManagementMode())
+ {
+ LOGGER.warn("Failed to activate virtual host: " + getName(), e);
+ }
+ else
+ {
+ throw e;
+ }
+ }
return true;
}
else if (desiredState == State.STOPPED)