packagecom.seaway.open.open_bank_luoyang_check;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.sql.SQLException;importjava.time.LocalDateTime;importjava.time.format.DateTimeFormatter;importjava.util.List;importorg.apache.logging.log4j.LogManager;importorg.apache.logging.log4j.Logger;importorg.yaml.snakeyaml.Yaml;importcom.seaway.open.open_bank_luoyang_check.configure.Configure;importio.vertx.core.AbstractVerticle;importio.vertx.core.Vertx;importio.vertx.core.cli.Argument;importio.vertx.core.cli.CLI;importio.vertx.core.cli.TypedOption;importio.vertx.core.json.JsonArray;importio.vertx.core.json.JsonObject;importio.vertx.ext.jdbc.JDBCClient;importio.vertx.ext.jdbc.spi.impl.HikariCPDataSourceProvider;importio.vertx.ext.sql.ResultSet;importio.vertx.ext.sql.SQLConnection;public class Runner extendsAbstractVerticle {private static final Logger logger = LogManager.getLogger(Runner.class);private Configure gconfigure = null;private JDBCClient jdbcClient = null;//Vertx vertx = Vertx.vertx();
publicConfigure getGconfigure() {returngconfigure;
}public voidsetGconfigure(Configure gconfigure) {this.gconfigure =gconfigure;
}public synchronizedJDBCClient getJdbcClientInstance() {if (jdbcClient == null) {try{
HikariCPDataSourceProvider HikariCPDataSource= newHikariCPDataSourceProvider();
JsonObject jdbcobject=JsonObject.mapFrom(getGconfigure().getJdbcConfig());
jdbcobject.put("autoCommit", true);
jdbcClient=JDBCClient.create(vertx, HikariCPDataSource.getDataSource(jdbcobject));
logger.info("初始化数据库连接池成功 {}", jdbcobject.toString());
}catch(SQLException e) {
logger.error("连接数据库失败:{}", e);
}
}returnjdbcClient;
}public static voidmain(String[] args) {
Runner runner= newRunner();
Vertx vertx=Vertx.vertx();
runner.start(vertx);
}private voidinitConfigure() {
CLI cli= CLI.create("open_bank_luoyang_check").setSummary("开放平台xx银行对账文件生成程序&#