From e7061804930b61960ef66c97bb08ed7e647e4abf Mon Sep 17 00:00:00 2001 From: CaiHQ Date: Mon, 8 Nov 2021 13:56:00 +0800 Subject: [PATCH] fix: plugin null bugs --- .../java/org/bdware/server/CMHttpServer.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/bdware/server/CMHttpServer.java b/src/main/java/org/bdware/server/CMHttpServer.java index c707ed9..345f26c 100644 --- a/src/main/java/org/bdware/server/CMHttpServer.java +++ b/src/main/java/org/bdware/server/CMHttpServer.java @@ -45,7 +45,7 @@ import java.util.concurrent.atomic.AtomicInteger; public class CMHttpServer { private static final Logger LOGGER = LogManager.getLogger(CMHttpServer.class); private static final String CONFIG_PATH = "cmconfig.json"; - public static CMDConf cmdConf; + public static CMDConf cmdConf; public static EventLoopGroup workerGroup = new NioEventLoopGroup(); public static MultiIndexTimeRocksDBUtil nodeLogDB = new MultiIndexTimeRocksDBUtil( @@ -53,6 +53,7 @@ public class CMHttpServer { private static SslContext sslContext = null; final String PATH = "/SCIDE/SCExecutor"; private final int port; + private static void parseConf(CMDConf cmdConf) throws IOException { if (cmdConf.disableDoRepo) { DoConfig.callContractUsingDOI = false; @@ -215,10 +216,10 @@ public class CMHttpServer { } } - start(cmdConf.ip, cmdConf.servicePort, cmdConf.doipPort,cmdConf); + start(cmdConf.ip, cmdConf.servicePort, cmdConf.doipPort, cmdConf); } - public static void start(String ip, int port, int doipPort,CMDConf cmdConf) throws IOException { + public static void start(String ip, int port, int doipPort, CMDConf cmdConf) throws IOException { if (DoConfig.callContractUsingDOI) { ContractManager.threadPool.execute( () -> ContractRepositoryMain.start("tcp://" + ip + ":" + doipPort)); @@ -244,16 +245,20 @@ public class CMHttpServer { return pathname.getName().endsWith(".jar"); } }); - URL[] urls = new URL[pluginJar.length]; - for (int i=0;i 0) { + URL[] urls = new URL[pluginJar.length]; + for (int i = 0; i < pluginJar.length; i++) { + try { + urls[i] = pluginJar[i].toURI().toURL(); + LOGGER.info("add plugin:" + pluginJar[i].getName()); + } catch (MalformedURLException e) { + e.printStackTrace(); + } } + pluginLoader = new URLClassLoader(urls, CMHttpServer.class.getClassLoader()); + } else { + pluginLoader = new URLClassLoader(new URL[]{}, CMHttpServer.class.getClassLoader()); } - pluginLoader = new URLClassLoader(urls,CMHttpServer.class.getClassLoader()); if (port >= 18000 && port < 18100) { ContractManager.cPort = new ContractPort(1615 + (port - 18000) * 30); } else {