diff options
| author | Alex Rudyy <orudyy@apache.org> | 2014-10-02 16:17:51 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2014-10-02 16:17:51 +0000 |
| commit | 89ae6edf669364f29332ff71d3e380b12e16f636 (patch) | |
| tree | a53fac4e1abca5b77b43ed77a3f7f29b0d2ef999 /qpid/java | |
| parent | 3cdc06af66e822f7b8c9a8f43afbeb29574bb5c8 (diff) | |
| download | qpid-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')
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) { |
