在我的应用程序中,我在程序main方法中启动嵌入式 Undertow 。在所有教程stop
中都没有使用方法。如果我从终端或 IntelliJ 运行应用程序并停止它( CTRL + C 或停止图标),我看到
使用退出代码1完成处理
我尝试添加
Runtime.getRuntime().addShutdownHook(new Thread(undertow::stop));
但结果是一样的。
我应该在哪里拨打stop
方法?
答案 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();
}
}