You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by st...@apache.org on 2016/11/05 11:29:18 UTC
svn commit: r1768194 -
/openjpa/branches/2.4.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/InstrumentationFactory.java
Author: struberg
Date: Sat Nov 5 11:29:17 2016
New Revision: 1768194
URL: http://svn.apache.org/viewvc?rev=1768194&view=rev
Log:
OPENJPA-2674 properly close JarFile
txs to Kaloyan Spiridonov for the catch!
Modified:
openjpa/branches/2.4.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/InstrumentationFactory.java
Modified: openjpa/branches/2.4.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/InstrumentationFactory.java
URL: http://svn.apache.org/viewvc/openjpa/branches/2.4.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/InstrumentationFactory.java?rev=1768194&r1=1768193&r2=1768194&view=diff
==============================================================================
--- openjpa/branches/2.4.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/InstrumentationFactory.java (original)
+++ openjpa/branches/2.4.x/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/InstrumentationFactory.java Sat Nov 5 11:29:17 2016
@@ -1,3 +1,4 @@
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -369,10 +370,10 @@ public class InstrumentationFactory {
* @return True if the provided agentClassName is defined as the Agent-Class
* in the manifest from the provided agentJarFile. False otherwise.
*/
- private static boolean validateAgentJarManifest(File agentJarFile, Log log,
- String agentClassName) {
+ private static boolean validateAgentJarManifest(File agentJarFile, Log log, String agentClassName) {
+ JarFile jar = null;
try {
- JarFile jar = new JarFile(agentJarFile);
+ jar = new JarFile(agentJarFile);
Manifest manifest = jar.getManifest();
if (manifest == null) {
return false;
@@ -389,6 +390,15 @@ public class InstrumentationFactory {
+ "exception " + e.getMessage());
}
}
+ finally {
+ if (jar != null) {
+ try {
+ jar.close();
+ } catch (IOException e) {
+ // don't care. It's just for properly closing the resource
+ }
+ }
+ }
return false;
}// end validateAgentJarManifest
}