diff --git a/dubbo-container/src/main/java/com/alibaba/dubbo/container/Main.java b/dubbo-container/src/main/java/com/alibaba/dubbo/container/Main.java index f57cf6fed66c5b6cb8915994970e0d3303ae7bbd..582f20ca2b32a8524e7a6eaeff86a23c5cdadae7 100644 --- a/dubbo-container/src/main/java/com/alibaba/dubbo/container/Main.java +++ b/dubbo-container/src/main/java/com/alibaba/dubbo/container/Main.java @@ -33,35 +33,41 @@ public class Main { private static final Logger logger = LoggerFactory.getLogger(Main.class); public static void main(String[] args) { - ExtensionLoader loader = ExtensionLoader.getExtensionLoader(Container.class); - final Container[] containers; - if(null == args || args.length == 0) { - containers = new Container[] {loader.getDefaultExtension()}; - logger.info("Use default container type(" + loader.getDefaultExtensionName() + ") to run dubbo serivce."); - } else { - containers = new Container[args.length]; - for (int i = 0; i < args.length; i ++) { - containers[i] = loader.getExtension(args[i]); + try { + ExtensionLoader loader = ExtensionLoader.getExtensionLoader(Container.class); + final Container[] containers; + if(null == args || args.length == 0) { + containers = new Container[] {loader.getDefaultExtension()}; + logger.info("Use default container type(" + loader.getDefaultExtensionName() + ") to run dubbo serivce."); + } else { + containers = new Container[args.length]; + for (int i = 0; i < args.length; i ++) { + containers[i] = loader.getExtension(args[i]); + } + logger.info("Use container type(" + Arrays.toString(args) + ") to run dubbo serivce."); } - logger.info("Use container type(" + Arrays.toString(args) + ") to run dubbo serivce."); - } - Runtime.getRuntime().addShutdownHook(new Thread() { - public void run() { - for (Container container : containers) { - try { - container.stop(); - logger.info("Dubbo " + container.getClass().getSimpleName() + " stopped!"); - } catch (Throwable t) { - logger.error(t.getMessage(), t); + + Runtime.getRuntime().addShutdownHook(new Thread() { + public void run() { + for (Container container : containers) { + try { + container.stop(); + logger.info("Dubbo " + container.getClass().getSimpleName() + " stopped!"); + } catch (Throwable t) { + logger.error(t.getMessage(), t); + } } } + }); + for (Container container : containers) { + container.start(); + logger.info("Dubbo " + container.getClass().getSimpleName() + " started!"); } - }); - for (Container container : containers) { - container.start(); - logger.info("Dubbo " + container.getClass().getSimpleName() + " started!"); + System.out.println(new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]").format(new Date()) + " Dubbo service server started!"); + } catch (Throwable t) { + t.printStackTrace(); + logger.error(t.getMessage(), t); } - System.out.println(new SimpleDateFormat("[yyyy-MM-dd HH:mm:ss]").format(new Date()) + " Dubbo service server started!"); synchronized (Main.class) { for (;;) { try {