summaryrefslogtreecommitdiff
path: root/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java')
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java21
1 files changed, 13 insertions, 8 deletions
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 8eed1fa5a4..05b0052bf1 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
@@ -134,26 +134,32 @@ public class JsonFileConfigStore implements DurableConfigurationStore
return file.exists();
}
- private void getFileLock() throws IOException, AMQStoreException
+ private void getFileLock() throws AMQStoreException
{
File lockFile = new File(_directoryName, _name + ".lck");
- lockFile.createNewFile();
-
- FileOutputStream out = new FileOutputStream(lockFile);
- FileChannel channel = out.getChannel();
try
{
+ lockFile.createNewFile();
+ lockFile.deleteOnExit();
+
+ @SuppressWarnings("resource")
+ FileOutputStream out = new FileOutputStream(lockFile);
+ FileChannel channel = out.getChannel();
_fileLock = channel.tryLock();
}
+ catch (IOException ioe)
+ {
+ throw new AMQStoreException("Cannot create the lock file " + lockFile.getName(), ioe);
+ }
catch(OverlappingFileLockException e)
{
_fileLock = null;
}
+
if(_fileLock == null)
{
- throw new AMQStoreException("Cannot get lock on file " + lockFile.getAbsolutePath() + " is another instance running?");
+ throw new AMQStoreException("Cannot get lock on file " + lockFile.getAbsolutePath() + ". Is another instance running?");
}
- lockFile.deleteOnExit();
}
private void checkDirectoryIsWritable(String directoryName) throws AMQStoreException
@@ -185,7 +191,6 @@ public class JsonFileConfigStore implements DurableConfigurationStore
Map data = _objectMapper.readValue(new File(_directoryName,_configFileName),Map.class);
Collection<Class<? extends ConfiguredObject>> childClasses =
MODEL.getChildTypes(VirtualHost.class);
- String modelVersion = (String) data.remove("modelVersion");
Object configVersion;
if((configVersion = data.remove("configVersion")) instanceof Integer)
{