停止Embedded Undertow时,进程以退出代码1结束

时间:2017-09-09 05:24:44

标签: java undertow

在我的应用程序中,我在程序main方法中启动嵌入式 Undertow 。在所有教程stop中都没有使用方法。如果我从终端或 IntelliJ 运行应用程序并停止它( CTRL + C 或停止图标),我看到

  

使用退出代码1完成处理

我尝试添加

Runtime.getRuntime().addShutdownHook(new Thread(undertow::stop));

但结果是一样的。

我应该在哪里拨打stop方法?

1 个答案:

答案 0 :(得分:1)

这是一个sample builder api,在执行控制台日志记录后可以更改(只是一个示例)停止:

public class HelloWorldServer {

    public static void main(final String[] args) {
        Undertow server = Undertow.builder()                                                    //Undertow builder
                .addListener(8080, "localhost")                                                 //Listener binding
                .setHandler(new HttpHandler() {                                                 //Default Handler
                    @Override
                    public void handleRequest(final HttpServerExchange exchange) throws Exception {
                        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");  //Response Headers
                        exchange.getResponseSender().send("Hello World");                       //Response Sender
                    }
                }).build();
        server.start();
        System.out.println("I did some work for you..Rest is to dig deeper!");
        server.stop();
    }

}