是否有任何简单的方法来部署嵌入了undertow的servlet web应用程序?
例如,使用jetty,我可以这样部署:
Server server = new Server(8080);
WebAppContext context = new WebAppContext();
context.setContextPath("/");
context.setDescriptor("src/main/webapp/web.xml");
context.setResourceBase("src/main/webapp/");
server.setHandler(context);
server.start();
对于undertow是否有类似的方法?我在这里看到了一个示例:https://github.com/undertow-io/undertow/blob/master/examples/src/main/java/io/undertow/examples/servlet/ServletServer.java,但这并不是我想要的,它一个接一个地注册servlet…
暂时没有。
Undertow只是提供了一个构建器API,另一个应用程序可以使用它来构建Servlet。这是经过深思熟虑的设计选择,因为它使嵌入应用程序完全控制部署。
我们最终可能会在不同的模块中添加对它的支持(最有可能的是将相关代码从Wildfly中剥离出来),但目前它在优先级列表中并不高。
我认为新的wildfly swarm项目提供了一个很好的解决方案,因为您可以部署任何web应用程序,只需使用从wildfly中取出的undertow模块并将其打包在单个胖罐中。下面是一个很好的例子:https://github.com/wildfly-swarm/wildfly-swarm-examples/tree/master/servlet