[UIMA-1746] set useCaches(false) for URL connections that could connect to files, to avoid "locking" those files persistently, after they are closed
git-svn-id: https://svn.apache.org/repos/asf/uima/uimaj/branches/test-parent-pom-6@1024030 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java b/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
index a0793c4..43c49e4 100644
--- a/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
+++ b/uimaj-core/src/main/java/org/apache/uima/pear/util/FileUtil.java
@@ -851,6 +851,8 @@
try {
URL fileUrl = new URL(fileLocation);
URLConnection urlConn = fileUrl.openConnection();
+ // See https://issues.apache.org/jira/browse/UIMA-1746
+ urlConn.setUseCaches(false);
fileSize = urlConn.getContentLength();
} catch (IOException e) {
fileSize = -1;
@@ -1038,6 +1040,8 @@
*/
public static String[] loadListOfStrings(URL textFileURL) throws IOException {
URLConnection urlConnection = textFileURL.openConnection();
+ // See https://issues.apache.org/jira/browse/UIMA-1746
+ urlConnection.setUseCaches(false);
BufferedReader iStream = null;
String[] outputArray = null;
try {
@@ -1192,6 +1196,8 @@
*/
public static String loadTextFile(URL textFileURL) throws IOException {
URLConnection urlConnection = textFileURL.openConnection();
+ // See https://issues.apache.org/jira/browse/UIMA-1746
+ urlConnection.setUseCaches(false);
return loadTextFile(urlConnection);
}
@@ -1207,6 +1213,8 @@
public static String loadTextFile(URLConnection urlConnection) throws IOException {
BufferedReader iStream = null;
String content = null;
+ // See https://issues.apache.org/jira/browse/UIMA-1746
+ urlConnection.setUseCaches(false);
try {
iStream = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
content = loadTextFile(iStream);
diff --git a/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java b/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
index 5ddedc2..d03b421 100644
--- a/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
+++ b/uimaj-core/src/main/java/org/apache/uima/util/XMLInputSource.java
@@ -24,6 +24,7 @@
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
+import java.net.URLConnection;
import org.apache.uima.UIMARuntimeException;
@@ -111,7 +112,13 @@
*/
public XMLInputSource(URL aURL) throws IOException {
mURL = aURL;
- mInputStream = aURL.openStream();
+ // replace openStream which is openConnection().getInputStream() with
+ // version that allows setting caching(false)
+ // See https://issues.apache.org/jira/browse/UIMA-1746
+ URLConnection urlConnection= aURL.openConnection();
+ urlConnection.setUseCaches(false);
+ mInputStream = urlConnection.getInputStream();
+// mInputStream = aURL.openStream();
}
/**