diff --git a/src/org/redkale/boot/NodeHttpServer.java b/src/org/redkale/boot/NodeHttpServer.java index 75eb3adab..b2542438a 100644 --- a/src/org/redkale/boot/NodeHttpServer.java +++ b/src/org/redkale/boot/NodeHttpServer.java @@ -217,6 +217,7 @@ public class NodeHttpServer extends NodeServer { if (!rest) return; if (restConf == null) return; //不存在REST服务 + final long starts = System.currentTimeMillis(); String prefix0 = restConf.getValue("path", ""); if (!prefix0.isEmpty() && prefix0.charAt(prefix0.length() - 1) == '/') prefix0 = prefix0.substring(0, prefix0.length() - 1); if (!prefix0.isEmpty() && prefix0.charAt(0) != '/') prefix0 = '/' + prefix0; @@ -340,6 +341,7 @@ public class NodeHttpServer extends NodeServer { } sb.append(" mapping to ").append(Arrays.toString(as.getValue())).append(LINE_SEPARATOR); } + sb.append(threadName).append(" All RestServlets load cost " + (System.currentTimeMillis() - starts) + " ms" + LINE_SEPARATOR); } } } diff --git a/src/org/redkale/boot/NodeServer.java b/src/org/redkale/boot/NodeServer.java index 63d021150..6456d9519 100644 --- a/src/org/redkale/boot/NodeServer.java +++ b/src/org/redkale/boot/NodeServer.java @@ -370,6 +370,7 @@ public abstract class NodeServer { @SuppressWarnings("unchecked") protected void loadService(ClassFilter serviceFilter, ClassFilter otherFilter) throws Exception { if (serviceFilter == null) return; + final long starts = System.currentTimeMillis(); final String threadName = "[" + Thread.currentThread().getName() + "] "; final Set> entrys = (Set) serviceFilter.getAllFilterEntrys(); ResourceFactory regFactory = isSNCP() ? application.getResourceFactory() : resourceFactory; @@ -476,24 +477,19 @@ public abstract class NodeServer { localServices.addAll(swlist); //this.loadPersistData(); final List slist = sb == null ? null : new CopyOnWriteArrayList<>(); - CountDownLatch clds = new CountDownLatch(localServices.size()); localServices.stream().forEach(y -> { - try { - long s = System.currentTimeMillis(); - y.init(Sncp.getConf(y)); - long e = System.currentTimeMillis() - s; - String serstr = Sncp.toSimpleString(y, maxNameLength, maxClassNameLength); - if (slist != null) slist.add(new StringBuilder().append(threadName).append(serstr).append(" load and init in ").append(e).append(" ms").append(LINE_SEPARATOR).toString()); - } finally { - clds.countDown(); - } + long s = System.currentTimeMillis(); + y.init(Sncp.getConf(y)); + long e = System.currentTimeMillis() - s; + String serstr = Sncp.toSimpleString(y, maxNameLength, maxClassNameLength); + if (slist != null) slist.add(new StringBuilder().append(threadName).append(serstr).append(" load and init in ").append(e).append(" ms").append(LINE_SEPARATOR).toString()); }); - clds.await(); if (slist != null && sb != null) { List wlist = new ArrayList<>(slist); //直接使用CopyOnWriteArrayList偶尔会出现莫名的异常(CopyOnWriteArrayList源码1185行) for (String s : wlist) { sb.append(s); } + sb.append(threadName).append(" All Services load cost " + (System.currentTimeMillis() - starts) + " ms" + LINE_SEPARATOR); } if (sb != null && sb.length() > 0) logger.log(Level.INFO, sb.toString()); }