diff --git a/logs-201904/sncp-log-20190428.log b/logs-201904/sncp-log-20190428.log new file mode 100644 index 0000000..265db5d --- /dev/null +++ b/logs-201904/sncp-log-20190428.log @@ -0,0 +1,98 @@ +四月 28, 2019 6:17:11 下午 [Transport-Thread-3] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error (retcode=1073741824, retinfo=Inner exception) +四月 28, 2019 6:17:11 下午 [Transport-Thread-3] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error +java.lang.RuntimeException: remote service(public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String)) deal error (retcode=1073741824, retinfo=Inner exception) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:437) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:396) + at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) + at sun.nio.ch.Invoker$2.run(Invoker.java:218) + at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) + +四月 28, 2019 6:18:34 下午 [Transport-Thread-6] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error (retcode=1073741824, retinfo=Inner exception) +四月 28, 2019 6:18:34 下午 [Transport-Thread-6] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error +java.lang.RuntimeException: remote service(public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String)) deal error (retcode=1073741824, retinfo=Inner exception) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:437) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:396) + at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) + at sun.nio.ch.Invoker$2.run(Invoker.java:218) + at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) + +四月 28, 2019 6:23:34 下午 [Transport-Thread-2] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error (retcode=1073741824, retinfo=Inner exception) +四月 28, 2019 6:24:04 下午 [Transport-Thread-2] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error +java.lang.RuntimeException: remote service(public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String)) deal error (retcode=1073741824, retinfo=Inner exception) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:437) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:396) + at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) + at sun.nio.ch.Invoker$2.run(Invoker.java:218) + at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) + +四月 28, 2019 6:24:44 下午 [Transport-Thread-4] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error (retcode=1073741824, retinfo=Inner exception) +四月 28, 2019 6:24:44 下午 [Transport-Thread-4] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error +java.lang.RuntimeException: remote service(public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String)) deal error (retcode=1073741824, retinfo=Inner exception) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:437) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:396) + at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) + at sun.nio.ch.Invoker$2.run(Invoker.java:218) + at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) + +四月 28, 2019 6:24:44 下午 [Transport-Thread-7] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error (retcode=1073741824, retinfo=Inner exception) +四月 28, 2019 6:24:44 下午 [Transport-Thread-7] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error +java.lang.RuntimeException: remote service(public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String)) deal error (retcode=1073741824, retinfo=Inner exception) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:437) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:396) + at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) + at sun.nio.ch.Invoker$2.run(Invoker.java:218) + at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) + +四月 28, 2019 6:24:47 下午 [Transport-Thread-3] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error (retcode=1073741824, retinfo=Inner exception) +四月 28, 2019 6:24:47 下午 [Transport-Thread-3] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error +java.lang.RuntimeException: remote service(public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String)) deal error (retcode=1073741824, retinfo=Inner exception) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:437) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:396) + at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) + at sun.nio.ch.Invoker$2.run(Invoker.java:218) + at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) + +四月 28, 2019 6:25:08 下午 [Transport-Thread-6] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error (retcode=1073741824, retinfo=Inner exception) +四月 28, 2019 6:25:08 下午 [Transport-Thread-6] org.redkale.net.sncp.SncpClient$1$1 completed +严重: public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String) sncp (params: ["3421432"]) deal error +java.lang.RuntimeException: remote service(public net.tccn.base.JBean net.tccn.service.MetadataService.serviceList(java.lang.String)) deal error (retcode=1073741824, retinfo=Inner exception) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:437) + at org.redkale.net.sncp.SncpClient$1$1.completed(SncpClient.java:396) + at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) + at sun.nio.ch.Invoker$2.run(Invoker.java:218) + at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) + at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) + at java.lang.Thread.run(Thread.java:748) + diff --git a/root/api/plat.js b/root/api/plat.js index 7e1bb1f..69e643f 100644 --- a/root/api/plat.js +++ b/root/api/plat.js @@ -13,7 +13,7 @@ const plat = { return red.getX('/plat/db_list', params) }, dbSave({plat}) { - return red.postX('/plat/db_save', {plat}) + return red.postX('/plat/db_save', {plat:JSON.stringify(plat)}) }, } \ No newline at end of file diff --git a/root/u/table/redkale-543220437634186_table.xls b/root/u/table/redkale-543220437634186_table.xls new file mode 100644 index 0000000..2b570cb Binary files /dev/null and b/root/u/table/redkale-543220437634186_table.xls differ diff --git a/root/u/table/redkale-543272247486082_table.xls b/root/u/table/redkale-543272247486082_table.xls new file mode 100644 index 0000000..2b570cb Binary files /dev/null and b/root/u/table/redkale-543272247486082_table.xls differ diff --git a/root/u/table/table.xls b/root/u/table/table.xls new file mode 100644 index 0000000..77b0485 Binary files /dev/null and b/root/u/table/table.xls differ diff --git a/src/main/java/net/tccn/base/ExcelKit.java b/src/main/java/net/tccn/base/ExcelKit.java index 30d1b0c..2551f11 100644 --- a/src/main/java/net/tccn/base/ExcelKit.java +++ b/src/main/java/net/tccn/base/ExcelKit.java @@ -1,14 +1,11 @@ package net.tccn.base; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.OfficeXmlFileException; import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.lang.reflect.Field; import java.text.SimpleDateFormat; @@ -278,8 +275,7 @@ public class ExcelKit { List list = new ArrayList<>(); int t = 0; - r: - for (int i = 0; i <= lastRowNum; i++) { + r:for (int i = 0; i <= lastRowNum; i++) { Row row = sheet.getRow(i); if (row == null) continue; short cellNum = row.getLastCellNum(); @@ -376,7 +372,8 @@ public class ExcelKit { } private static Workbook getWorkbook(File file) throws IOException { - Workbook wk; + return WorkbookFactory.create(file); + /*Workbook wk; FileInputStream fis = new FileInputStream(file); try { wk = new HSSFWorkbook(fis);//if excel version 2007+ will throws OfficeXmlFileException @@ -392,6 +389,6 @@ public class ExcelKit { } } - return wk; + return wk;*/ } } diff --git a/src/main/java/net/tccn/base/IService.java b/src/main/java/net/tccn/base/IService.java new file mode 100644 index 0000000..eaedd8b --- /dev/null +++ b/src/main/java/net/tccn/base/IService.java @@ -0,0 +1,9 @@ +package net.tccn.base; + +/** + * ServiceLoader 管理标识 + * @author: liangxianyou + */ +public interface IService { + String getType(); +} diff --git a/src/main/java/net/tccn/base/Liangs.java b/src/main/java/net/tccn/base/Liangs.java index a97dfd1..868e4b1 100644 --- a/src/main/java/net/tccn/base/Liangs.java +++ b/src/main/java/net/tccn/base/Liangs.java @@ -65,4 +65,24 @@ public class Liangs { return toArray(list); } + /** + * + * @param type 待加载的class 类型 + * @param name class 的实现名称 + * @param 泛型 + * @return + */ + public static T getDbSource(Class type, String name) { + ServiceLoader loader = ServiceLoader.load(type); + Iterator iterator = loader.iterator(); + + if (iterator.hasNext()) { + T dbSource = iterator.next(); + if (name.equalsIgnoreCase(dbSource.getType())) { + return dbSource; + } + } + return null; + } + } diff --git a/src/main/java/net/tccn/dbq/jdbc/api/DbAccount.java b/src/main/java/net/tccn/dbq/jdbc/api/DbAccount.java index 89dcc6c..052d16b 100644 --- a/src/main/java/net/tccn/dbq/jdbc/api/DbAccount.java +++ b/src/main/java/net/tccn/dbq/jdbc/api/DbAccount.java @@ -4,7 +4,6 @@ import lombok.Data; import net.tccn.base.arango.Doc; import javax.persistence.Table; -import java.util.List; /** * 数据库平台 @@ -21,7 +20,7 @@ public class DbAccount extends Doc { private String url; //数据库连接地址 private String user; //账号 private String pwd; //密码 - private List catalogs; //库 + private String[] catalogs; //库 //---------------------------- diff --git a/src/main/java/net/tccn/dbq/jdbc/api/DbKit.java b/src/main/java/net/tccn/dbq/jdbc/api/DbKit.java index f9ba899..39262fd 100644 --- a/src/main/java/net/tccn/dbq/jdbc/api/DbKit.java +++ b/src/main/java/net/tccn/dbq/jdbc/api/DbKit.java @@ -1,5 +1,7 @@ package net.tccn.dbq.jdbc.api; +import net.tccn.base.Liangs; + import java.util.List; import java.util.concurrent.CompletableFuture; @@ -14,9 +16,12 @@ public class DbKit implements DbSource{ public DbKit(DbAccount dbAccount) { this.dbAccount = dbAccount; - if ("mysql".equalsIgnoreCase(dbAccount.getCate())) { - dbSource = new DbSourceMysql(dbAccount); - } else { + try { + DbSource dbSource = Liangs.getDbSource(DbSource.class, dbAccount.getCate()); + dbSource.setDbAccount(dbAccount); + + this.dbSource = dbSource; + } catch (Exception e) { throw new IllegalArgumentException(String.format("创建DbKit失败:数据库类型[cate:%s]未知", dbAccount.getCate())); } } @@ -31,6 +36,11 @@ public class DbKit implements DbSource{ } + @Override + public void setDbAccount(DbAccount dbAccount) { + // nothing to do + } + @Override public List findList(String sql, Class type) { return dbSource.findList(sql, type); @@ -73,4 +83,9 @@ public class DbKit implements DbSource{ public CompletableFuture exetuteAsync(String sql) { return CompletableFuture.runAsync(() -> exetute(sql)); } + + @Override + public String getType() { + return null; + } } diff --git a/src/main/java/net/tccn/dbq/jdbc/api/DbSource.java b/src/main/java/net/tccn/dbq/jdbc/api/DbSource.java index 9356f2b..1269813 100644 --- a/src/main/java/net/tccn/dbq/jdbc/api/DbSource.java +++ b/src/main/java/net/tccn/dbq/jdbc/api/DbSource.java @@ -1,12 +1,16 @@ package net.tccn.dbq.jdbc.api; +import net.tccn.base.IService; + import java.util.Date; import java.util.List; /** * Created by liangxianyou at 2019/3/12 14:07. */ -public interface DbSource { +public interface DbSource extends IService { + + void setDbAccount(DbAccount dbAccount); List findList(String sql, Class type); diff --git a/src/main/java/net/tccn/dbq/jdbc/api/DbSourceMysql.java b/src/main/java/net/tccn/dbq/jdbc/api/DbSourceMysql.java index fdfc279..4d0e917 100644 --- a/src/main/java/net/tccn/dbq/jdbc/api/DbSourceMysql.java +++ b/src/main/java/net/tccn/dbq/jdbc/api/DbSourceMysql.java @@ -23,6 +23,15 @@ public class DbSourceMysql implements DbSource { private DbAccount dbAccount; private String catalog; + public DbSourceMysql() { + + } + + public void setDbAccount(DbAccount dbAccount) { + this.dbAccount = dbAccount; + this.accountKey = dbAccount.accountKey(); + } + public DbSourceMysql(DbAccount dbAccount) { this.dbAccount = dbAccount; this.accountKey = dbAccount.accountKey(); @@ -33,6 +42,11 @@ public class DbSourceMysql implements DbSource { this.accountKey = dbAccount.accountKey(); } + @Override + public String getType() { + return "mysql"; + } + @Override public List findList(String sql, Class type) { Connection connection = connection(); diff --git a/src/main/resources/META-INF/services/net.tccn.dbq.jdbc.api.DbSource b/src/main/resources/META-INF/services/net.tccn.dbq.jdbc.api.DbSource new file mode 100644 index 0000000..b87bcaa --- /dev/null +++ b/src/main/resources/META-INF/services/net.tccn.dbq.jdbc.api.DbSource @@ -0,0 +1 @@ +net.tccn.dbq.jdbc.api.DbSourceMysql \ No newline at end of file diff --git a/src/test/java/RunTest.java b/src/test/java/RunTest.java index 1638064..254092f 100644 --- a/src/test/java/RunTest.java +++ b/src/test/java/RunTest.java @@ -20,7 +20,10 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.lang.reflect.Type; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import static java.util.Arrays.asList;