public class CachingDBImporter extends Object implements DBMetaDataImporter, Closeable
DBMetaDataImporter that acts as a proxy to another DBMetaDataImporter,
adding the feature of caching its output. The data file is named '<environment>.meta.xml'
and expires after 12 hrs.| Modifier and Type | Field and Description |
|---|---|
static long |
DEFAULT_TIME_TO_LIVE |
protected String |
environment |
protected JDBCDBImporter |
realImporter |
static String |
TIME_TO_LIVE_SYSPROP |
| Constructor and Description |
|---|
CachingDBImporter(JDBCDBImporter realImporter,
String environment) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
protected File |
getCacheFile() |
static File |
getCacheFile(String environment) |
Database |
importDatabase() |
protected Database |
importFreshData(File file) |
protected Database |
readCachedData(File cacheFile) |
static void |
updateCacheFile(Database database) |
static Database |
writeCacheFile(File file,
Database database) |
public static final String TIME_TO_LIVE_SYSPROP
public static final long DEFAULT_TIME_TO_LIVE
protected JDBCDBImporter realImporter
protected String environment
public CachingDBImporter(JDBCDBImporter realImporter, String environment)
public Database importDatabase() throws org.databene.commons.ConnectFailedException, org.databene.commons.ImportFailedException
importDatabase in interface DBMetaDataImporterorg.databene.commons.ConnectFailedExceptionorg.databene.commons.ImportFailedExceptionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionprotected File getCacheFile()
protected Database readCachedData(File cacheFile) throws org.databene.commons.ConnectFailedException, org.databene.commons.ImportFailedException
org.databene.commons.ConnectFailedExceptionorg.databene.commons.ImportFailedExceptionprotected Database importFreshData(File file) throws org.databene.commons.ConnectFailedException, org.databene.commons.ImportFailedException
org.databene.commons.ConnectFailedExceptionorg.databene.commons.ImportFailedExceptionpublic static void updateCacheFile(Database database)
Copyright © 2006–2014 Volker Bergmann. All rights reserved.