【问题标题】:Process finished with exit code 1 when stopping Embedded Undertow停止 Embedded Undertow 时进程以退出代码 1 结束
【发布时间】:2017-09-09 05:24:44
【问题描述】:

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

进程以退出代码 1 结束

我尝试添加

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

但结果是一样的。

我应该在哪里调用stop方法?

【问题讨论】:

  • server.stop() 应该为您工作,where 可以定义为查看更多有关您实际启动服务器和执行执行的上下文。

标签: java undertow


【解决方案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();
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 2018-03-07
    • 2014-01-04
    • 2017-11-03
    • 2017-01-19
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多