git://source.jalview.org
/
vamsas.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added retry mechanism for opening of vamsas archives before it's assumed that the...
[vamsas.git]
/
src
/
uk
/
ac
/
vamsas
/
client
/
simpleclient
/
VamsasArchiveReader.java
diff --git
a/src/uk/ac/vamsas/client/simpleclient/VamsasArchiveReader.java
b/src/uk/ac/vamsas/client/simpleclient/VamsasArchiveReader.java
index
819be18
..
7f9a008
100644
(file)
--- a/
src/uk/ac/vamsas/client/simpleclient/VamsasArchiveReader.java
+++ b/
src/uk/ac/vamsas/client/simpleclient/VamsasArchiveReader.java
@@
-30,6
+30,8
@@
import uk.ac.vamsas.objects.utils.document.VersionEntries;
*
*/
public class VamsasArchiveReader {
*
*/
public class VamsasArchiveReader {
+ private static final int JARFILE_OPEN_RETRIES = 50;
+ private static final int JARFILE_OPEN_RETRYWAIT = 1;
private static Log log = LogFactory.getLog(VamsasArchiveReader.class);
JarFile jfile=null;
boolean stream=false; // true if we are seeking on the stream.
private static Log log = LogFactory.getLog(VamsasArchiveReader.class);
JarFile jfile=null;
boolean stream=false; // true if we are seeking on the stream.
@@
-70,16
+72,27
@@
public class VamsasArchiveReader {
public VamsasArchiveReader(File vamsasfile) {
jfile=null;
public VamsasArchiveReader(File vamsasfile) {
jfile=null;
+ int retries=JARFILE_OPEN_RETRIES;
+ Exception ex=null;
if (vamsasfile.exists()) {
if (vamsasfile.exists()) {
+ while (jfile==null && --retries>0)
+ {
try {
jfile=new JarFile(vamsasfile);
}
catch (Exception e) {
try {
jfile=new JarFile(vamsasfile);
}
catch (Exception e) {
- log.debug("non-serious? couldn't open new JarFile on "+vamsasfile,e);
+ ex = e;
jfile=null;
jfile=null;
+ try {
+ Thread.sleep(JARFILE_OPEN_RETRYWAIT);
+ } catch (Exception w) {};
+ }
+ }
+ if (jfile==null && ex!=null)
+ {
+ log.debug("non-serious? Exceptions when opening JarFile at "+vamsasfile,ex);
}
}
}
}
-
}
/**
* in an ideal world - this constructor will create a reader object
}
/**
* in an ideal world - this constructor will create a reader object