From a8627b6105c1ff379be476100698fb696bac29a4 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Fri, 3 Mar 2017 18:21:09 +0800 Subject: [PATCH] --- src/org/redkale/boot/Application.java | 28 ++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/org/redkale/boot/Application.java b/src/org/redkale/boot/Application.java index 3bda26042..97708809a 100644 --- a/src/org/redkale/boot/Application.java +++ b/src/org/redkale/boot/Application.java @@ -465,13 +465,27 @@ public final class Application { channel.write(buffer); buffer.clear(); channel.configureBlocking(false); - channel.read(buffer); - buffer.flip(); - byte[] bytes = new byte[buffer.remaining()]; - buffer.get(bytes); - channel.close(); - logger.info(new String(bytes)); - Thread.sleep(500); + try { + channel.read(buffer); + buffer.flip(); + byte[] bytes = new byte[buffer.remaining()]; + buffer.get(bytes); + channel.close(); + logger.info(new String(bytes)); + Thread.sleep(500); + } catch (Exception e) { + if (e instanceof PortUnreachableException) { + if ("APIDOC".equalsIgnoreCase(command)) { + final Application application = Application.create(true); + application.init(); + application.start(); + new ApiDocs(application).run(); + logger.info("APIDOC OK"); + return; + } + } + throw e; + } } public void start() throws Exception {