java - 停止 Embedded Undertow 时进程已完成,退出代码为 1

标签 java undertow

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

Process finished with exit code 1

我尝试添加

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

但结果是一样的。

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

最佳答案

这是一个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();
    }

}

关于java - 停止 Embedded Undertow 时进程已完成,退出代码为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46127398/

相关文章:

java - 工作簿和 Oracle B2B 标注

java - undertow 编译错误

file-upload - 如何在 WildFly 中设置 Undertow MAX_ENTITY_SIZE

java - Undertow 中的图像/媒体 MIME 类型响应

java - 如何验证我的 ehcache 配置是否正常工作?

java - 根据另一个 JComboBox 的选择更改 JComboBox 的元素

java:在调度程序内对 lambda 表达式进行单元测试

java - 带有 undertow servlet 容器的 spring-boot 应用程序中的 "no cipher suites in common"错误

java - 简单的JSON Java存储方式

java - java中的运算符>>和运算符>>>有什么区别?