public WikittyImportExportService(WikittyClient client) { this.client = client; ApplicationConfig config = client.getConfig(); exportDirectory = config.getOption( WikittyConfigOption.WIKITTY_EXPORT_DIRECTORY.getKey()); exportPublicURL = config.getOption( WikittyConfigOption.WIKITTY_EXPORT_PUBLICURL.getKey()); int maxThread = config.getOptionAsInt( WikittyConfigOption.WIKITTY_EXPORT_THREADNUMBER.getKey()); this.importExportExecutor = Executors.newFixedThreadPool(maxThread); }
@Override public void run() { WikittyServiceTransaction tx = new WikittyServiceTransaction( client.getConfig(), client.getWikittyService()); // TODO poussin 20101029 rendre configurable le l'auto commit '1000' pour l'import tx.setAutoCommit(1000); try { long time = 0; if (log.isInfoEnabled()) { time = System.currentTimeMillis(); log.info("Import in (ms)" + time); } WikittyClient txClient = new WikittyClient( client.getConfig(), tx, client.getSecurityToken()); ImportExportMethod importer = format.ieporter(); importer.importReader(txClient, reader); if (log.isInfoEnabled()) { time = System.currentTimeMillis() - time; log.info("Import in (ms)" + time); } // don't forget to commit :) with true to force version tx.commit(client.getSecurityToken(), true); } catch (Exception eee) { tx.rollback(client.getSecurityToken()); throw new WikittyException("Error during import task", eee); } } }