在我的应用程序中,我开始在程序主方法中嵌入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/