Start a reading instance after downloading (Related #1581)
This commit is contained in:
parent
135e323358
commit
0a3b66bc7d
@ -106,8 +106,7 @@ public class GeoIpService {
|
|||||||
try {
|
try {
|
||||||
FileTime lastModifiedTime = Files.getLastModifiedTime(dataFile);
|
FileTime lastModifiedTime = Files.getLastModifiedTime(dataFile);
|
||||||
if (Duration.between(lastModifiedTime.toInstant(), Instant.now()).toDays() <= UPDATE_INTERVAL_DAYS) {
|
if (Duration.between(lastModifiedTime.toInstant(), Instant.now()).toDays() <= UPDATE_INTERVAL_DAYS) {
|
||||||
databaseReader = new Reader(dataFile.toFile(), FileMode.MEMORY, new CHMCache());
|
startReading();
|
||||||
ConsoleLogger.info(LICENSE);
|
|
||||||
|
|
||||||
// don't fire the update task - we are up to date
|
// don't fire the update task - we are up to date
|
||||||
return true;
|
return true;
|
||||||
@ -142,7 +141,7 @@ public class GeoIpService {
|
|||||||
tempFile = Files.createTempFile(ARCHIVE_FILE, null);
|
tempFile = Files.createTempFile(ARCHIVE_FILE, null);
|
||||||
if (!downloadDatabaseArchive(tempFile)) {
|
if (!downloadDatabaseArchive(tempFile)) {
|
||||||
ConsoleLogger.info("There is no newer GEO IP database uploaded to MaxMind. Using the old one for now.");
|
ConsoleLogger.info("There is no newer GEO IP database uploaded to MaxMind. Using the old one for now.");
|
||||||
downloading = false;
|
startReading();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,7 +154,7 @@ public class GeoIpService {
|
|||||||
|
|
||||||
//only set this value to false on success otherwise errors could lead to endless download triggers
|
//only set this value to false on success otherwise errors could lead to endless download triggers
|
||||||
ConsoleLogger.info("Successfully downloaded new GEO IP database to " + dataFile);
|
ConsoleLogger.info("Successfully downloaded new GEO IP database to " + dataFile);
|
||||||
downloading = false;
|
startReading();
|
||||||
} catch (IOException ioEx) {
|
} catch (IOException ioEx) {
|
||||||
ConsoleLogger.logException("Could not download GeoLiteAPI database", ioEx);
|
ConsoleLogger.logException("Could not download GeoLiteAPI database", ioEx);
|
||||||
} finally {
|
} finally {
|
||||||
@ -166,6 +165,14 @@ public class GeoIpService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void startReading() throws IOException {
|
||||||
|
databaseReader = new Reader(dataFile.toFile(), FileMode.MEMORY, new CHMCache());
|
||||||
|
ConsoleLogger.info(LICENSE);
|
||||||
|
|
||||||
|
// clear downloading flag, because we now have working reader instance
|
||||||
|
downloading = false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Downloads the archive to the destination file if it's newer than the locally version.
|
* Downloads the archive to the destination file if it's newer than the locally version.
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user