package com.vcarecity.cvs.event; import com.google.inject.Inject; import com.vcarecity.cvs.properties.AppProperties; import com.vcarecity.cvs.properties.DbProperties; import lombok.extern.slf4j.Slf4j; import java.util.concurrent.atomic.AtomicInteger; /** * @author Kerry on 19/11/29 */ @Slf4j public class MySQLImportEvent implements ExportEventListener { private AtomicInteger callIndex = new AtomicInteger(0); private final DbProperties dbProperties; @Inject public MySQLImportEvent(AppProperties properties) { this.dbProperties = properties.getToDb(); } @Override public void beforeExport(String filename) { logger.info("MySQLImportEvent.beforeExport. filename = {}", filename); } @Override public void exportSuccess(String filename, String table, String[] header) { logger.info("MySQLImportEvent.exportSuccess. filename = {}", filename); //ThreadFactory factory = new ThreadFactoryBuilder().setNameFormat("export-" + (callIndex.incrementAndGet()) + "+-%d").build(); //ThreadPoolExecutor executor = new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, // new LinkedBlockingQueue<>(1024), factory, new ThreadPoolExecutor.AbortPolicy()); // 列名不一样时,转换 //final String[] newHeader = ColumnUpdateMapper.updateColumnName(table, header); //executor.execute(new MySQLImporter(dbProperties, filename, table, newHeader)); //executor.shutdown(); } @Override public void exceptionCatch(Throwable throwable) { logger.info("MySQLImportEvent.exceptionCatch. throwable = {}", throwable); } }