summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core/src
diff options
context:
space:
mode:
authorAndrew MacBean <macbean@apache.org>2014-09-15 14:16:31 +0000
committerAndrew MacBean <macbean@apache.org>2014-09-15 14:16:31 +0000
commitacc5dc6df13777cd7cd399094342d5535c46f3eb (patch)
tree3ed1524afb509513030ec0b690fb699d9deead1a /qpid/java/broker-core/src
parentc5c6fbdd6dc6f73321b4e5be840d7533cc932e69 (diff)
downloadqpid-python-acc5dc6df13777cd7cd399094342d5535c46f3eb.tar.gz
QPID-6075: [Java Broker] Deleting VHN fails to delete underlying store files if VHN has not been started
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1625039 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-core/src')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCConfigurationStore.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryStore.java2
-rwxr-xr-xqpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java20
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java2
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java2
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java3
13 files changed, 26 insertions, 19 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
index 44b76cd5c8..4032ae2f39 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
@@ -254,7 +254,7 @@ public class ManagementModeStoreHandler implements DurableConfigurationStore
}
@Override
- public void onDelete()
+ public void onDelete(ConfiguredObject<?> parent)
{
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCConfigurationStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCConfigurationStore.java
index b3d0428bb3..52072678e8 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCConfigurationStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCConfigurationStore.java
@@ -912,7 +912,7 @@ public abstract class AbstractJDBCConfigurationStore implements MessageStoreProv
protected abstract String getBlobAsString(ResultSet rs, int col) throws SQLException;
@Override
- public void onDelete()
+ public void onDelete(ConfiguredObject<?> parent)
{
// TODO should probably check we are closed
try
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
index 71754b21c9..9633e32408 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
@@ -1964,7 +1964,7 @@ public abstract class AbstractJDBCMessageStore implements MessageStore
protected abstract void storedSizeChange(int storeSizeIncrease);
@Override
- public void onDelete()
+ public void onDelete(ConfiguredObject<?> parent)
{
// TODO should probably check we are closed
try
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryStore.java
index a9af138a02..54999551e0 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryStore.java
@@ -130,7 +130,7 @@ public abstract class AbstractMemoryStore implements DurableConfigurationStore,
}
@Override
- public void onDelete()
+ public void onDelete(ConfiguredObject<?> parent)
{
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java
index 588edd9cab..1bf83162e6 100755
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationStore.java
@@ -93,5 +93,5 @@ public interface DurableConfigurationStore
* has not be opened, then this call will be ignored. The store should be closed
* before making this call.
*/
- void onDelete();
+ void onDelete(ConfiguredObject<?> parent);
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
index 5001086010..b00428064d 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
@@ -40,6 +40,7 @@ import java.util.Map;
import java.util.UUID;
import org.apache.log4j.Logger;
+import org.apache.qpid.util.FileUtils;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.Version;
@@ -388,7 +389,7 @@ public class JsonFileConfigStore implements DurableConfigurationStore
{
File tmpFile = File.createTempFile("cfg","tmp", new File(_directoryName));
tmpFile.deleteOnExit();
- _objectMapper.writeValue(tmpFile,data);
+ _objectMapper.writeValue(tmpFile, data);
renameFile(tmpFile.getName(),_configFileName);
tmpFile.delete();
}
@@ -565,17 +566,22 @@ public class JsonFileConfigStore implements DurableConfigurationStore
}
@Override
- public void onDelete()
+ public void onDelete(ConfiguredObject<?> parent)
{
- if (_configFileName != null)
+ FileBasedSettings fileBasedSettings = (FileBasedSettings)parent;
+ String storePath = fileBasedSettings.getStorePath();
+
+ if (storePath != null)
{
- File configFile = new File(_directoryName, _configFileName);
- if (!configFile.delete())
+ File configFile = new File(storePath);
+ if (!FileUtils.delete(configFile, true))
{
- _logger.info("Failed to delete JSON file config store: " + _configFileName);
+ _logger.info("Failed to delete the store at location " + storePath);
}
- _configFileName = null;
}
+
+ _configFileName = null;
+ _directoryName = null;
}
private void releaseFileLock()
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
index 9c0a5118ff..c108918d34 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java
@@ -260,7 +260,7 @@ public class MemoryMessageStore implements MessageStore
}
@Override
- public void onDelete()
+ public void onDelete(ConfiguredObject<?> parent)
{
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java
index a4eaf48353..1629454cde 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/MessageStore.java
@@ -79,5 +79,5 @@ public interface MessageStore
*/
void closeMessageStore();
- void onDelete();
+ void onDelete(ConfiguredObject<?> parent);
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java
index 2e6c437e95..b6f4ea52ce 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/NullMessageStore.java
@@ -117,7 +117,7 @@ public abstract class NullMessageStore implements MessageStore, DurableConfigura
}
@Override
- public void onDelete()
+ public void onDelete(ConfiguredObject<?> parent)
{
}
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 eacc4f2458..2d58cb9327 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
@@ -1175,7 +1175,7 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
{
try
{
- ms.onDelete();
+ ms.onDelete(this);
}
catch (Exception e)
{
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 e866effc54..45a3c1eb5a 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
@@ -191,7 +191,7 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode<
deleteVirtualHostIfExists();
close();
deleted();
- getConfigurationStore().onDelete();
+ getConfigurationStore().onDelete(this);
}
protected void deleteVirtualHostIfExists()
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
index aba7e460bf..c94a0ef9c4 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecovererTest.java
@@ -351,7 +351,7 @@ public class BrokerStoreUpgraderAndRecovererTest extends QpidTestCase
}
@Override
- public void onDelete()
+ public void onDelete(ConfiguredObject<?> parent)
{
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
index 72e14c7a4b..d76ba0bc76 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
@@ -34,6 +34,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
+import org.apache.qpid.server.model.VirtualHostNode;
import org.mockito.ArgumentMatcher;
import org.mockito.InOrder;
@@ -360,7 +361,7 @@ public class JsonFileConfigStoreTest extends QpidTestCase
_store.closeConfigurationStore();
assertTrue("JSON store should exist after close", expectedJsonFile.exists());
- _store.onDelete();
+ _store.onDelete(_parent);
assertFalse("JSON store should not exist after delete", expectedJsonFile.exists());
}