public void init(final DataStoreConfig config,
DataOutputQueue queue,
final DataStore nextReaderDataStore
) {
super.init(config, queue, nextReaderDataStore);
this.executorService = SimpleExecutors.threadPool(config.levelDBBatchReaderCount(), "LevelDB BatchReader");
File file = new File(config.outputDirectory());
file.mkdirs();
file = new File(file, config.levelDBFileName());
Options options = new Options();
options.cacheSize(config.levelDBCacheSize());
options.writeBufferSize(config.levelDBWriteBufferSize());
options.maxOpenFiles(config.levelDBMaxOpenFiles());
try {
store = new SimpleStringKeyValueStoreLevelDB(file.toString(), options, false);
} catch (Exception ex) {
store = StringKeyValueStoreNoOp.SINGLETON;
if (debug) logger.error(ex, "UNABLE TO CONNECT TO LEVEL DB", ex.getMessage());
logger.debug(ex, "UNABLE TO CONNECT TO LEVEL DB", ex.getMessage());
logger.error("UNABLE TO CONNECT TO LEVEL DB", ex.getMessage());
}
}