Bug 385152 - [nano] War deployer does not release hold on deployed war in pickup
diff --git a/org.eclipse.virgo.nano.war.deployer/src/main/java/org/eclipse/virgo/nano/war/deployer/WARDeployer.java b/org.eclipse.virgo.nano.war.deployer/src/main/java/org/eclipse/virgo/nano/war/deployer/WARDeployer.java
index 0709bbf..94e73c0 100644
--- a/org.eclipse.virgo.nano.war.deployer/src/main/java/org/eclipse/virgo/nano/war/deployer/WARDeployer.java
+++ b/org.eclipse.virgo.nano.war.deployer/src/main/java/org/eclipse/virgo/nano/war/deployer/WARDeployer.java
@@ -222,12 +222,20 @@
@Override
public boolean isDeployFileValid(File file) {
- try {
- @SuppressWarnings("unused")
- JarFile jarFile = new JarFile(file);
+ JarFile jarFile = null;
+ try {
+ jarFile = new JarFile(file);
} catch (IOException e) {
this.logger.error("The deployed file '" + file.getAbsolutePath() + "' is an invalid zip file.");
return false;
+ } finally {
+ try {
+ if (jarFile != null) {
+ jarFile.close();
+ }
+ } catch (IOException e) {
+ // do nothing
+ }
}
return true;
}