summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2014-10-02 16:17:51 +0000
committerAlex Rudyy <orudyy@apache.org>2014-10-02 16:17:51 +0000
commit89ae6edf669364f29332ff71d3e380b12e16f636 (patch)
treea53fac4e1abca5b77b43ed77a3f7f29b0d2ef999 /qpid/java
parent3cdc06af66e822f7b8c9a8f43afbeb29574bb5c8 (diff)
downloadqpid-python-89ae6edf669364f29332ff71d3e380b12e16f636.tar.gz
QPID-6126: Add checks to allow operations with configured objects in ERRORED state
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1629011 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanProvider.java3
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java14
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java8
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java7
4 files changed, 15 insertions, 17 deletions
diff --git a/qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanProvider.java b/qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanProvider.java
index 45e0c39274..76e4415d7c 100644
--- a/qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanProvider.java
+++ b/qpid/java/bdbstore/jmx/src/main/java/org/apache/qpid/server/store/berkeleydb/jmx/BDBHAMessageStoreManagerMBeanProvider.java
@@ -27,6 +27,7 @@ import org.apache.qpid.server.jmx.MBeanProvider;
import org.apache.qpid.server.jmx.ManagedObject;
import org.apache.qpid.server.jmx.ManagedObjectRegistry;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.State;
import org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacade;
import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNode;
@@ -46,7 +47,7 @@ public class BDBHAMessageStoreManagerMBeanProvider implements MBeanProvider
@Override
public boolean isChildManageableByMBean(ConfiguredObject child)
{
- return child instanceof BDBHAVirtualHostNode;
+ return child instanceof BDBHAVirtualHostNode && ((BDBHAVirtualHostNode)child).getState() != State.ERRORED;
}
@Override
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
index 60be3592f8..e3ded3006d 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderImpl.java
@@ -113,20 +113,12 @@ public class FileSystemPreferencesProviderImpl
}
@Override
- protected void onCreate()
- {
- super.validateOnCreate();
- File storeFile = new File(_path);
- if (!storeFile.exists() )
- {
- new FileSystemPreferencesStore(storeFile).createIfNotExist();
- }
- }
-
- @Override
protected void onOpen()
{
FileSystemPreferencesStore store = new FileSystemPreferencesStore(new File(_path));
+
+ // we need to check and create file if it does not exist every time on open
+ store.createIfNotExist();
store.open();
_store = store;
_open = true;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
index 26ce6aca4c..ff6ae19373 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
@@ -699,11 +699,11 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
{
_logger.error("Failed to close message store", e);
}
- }
- if (!(_virtualHostNode.getConfigurationStore() instanceof MessageStoreProvider))
- {
- getEventLogger().message(getMessageStoreLogSubject(), MessageStoreMessages.CLOSED());
+ if (!(_virtualHostNode.getConfigurationStore() instanceof MessageStoreProvider))
+ {
+ getEventLogger().message(getMessageStoreLogSubject(), MessageStoreMessages.CLOSED());
+ }
}
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
index 1b363890dc..aea07e3ed3 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
@@ -176,7 +176,11 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode<
deleteVirtualHostIfExists();
close();
deleted();
- getConfigurationStore().onDelete(this);
+ DurableConfigurationStore configurationStore = getConfigurationStore();
+ if (configurationStore != null)
+ {
+ configurationStore.onDelete(this);
+ }
}
protected void deleteVirtualHostIfExists()
@@ -211,6 +215,7 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode<
@Override
protected void postResolve()
{
+ super.postResolve();
DurableConfigurationStore store = getConfigurationStore();
if (store == null)
{