码头的轻质替代品

2022-09-03 05:13:44

通常,当涉及到像Tomcat这样的servlet容器和像Glassfish这样的App Server时,Jetty被提及为轻量级的替代品。

我想在CloudFoundry上运行RESTful服务。使用码头流道

java -jar target/dependency/jetty-runner.jar target/*.war

工作得很好,除了我在运行Jetty 9.1.3(当前稳定)/ w Java 8时遇到了问题。因此,我贡献了一个补丁来解决此问题,并提供了一些其他次要的代码清理补丁。因此,我看到了Jetty的代码,它不是我希望的形状......

好吧,我只是不想将我的企业应用程序委托给Jetty并寻找替代方案。同样有5.x MB,码头跑步者.jar仍然很大。我设法将其精简到1.6 MB,并且我仍然能够运行我的应用程序。因此,更轻量级的方法是可行的。

有没有GlassFish或Tomcat的轻量级版本。我只需要在Web服务器上下文中运行的servlet-api.jar(v3.1)。没有JSP,没有websocket-server,没有其他Voodoo。


答案 1

Undertow是一个用java编写的灵活的高性能Web服务器,提供基于NIO的阻塞和非阻塞API。

Undertow具有基于组合的体系结构,允许您通过组合小型单一用途处理程序来构建Web服务器。这使您可以灵活地在完整的 Java EE servlet 3.1 容器或低级非阻塞处理程序之间进行选择,以选择介于两者之间的任何容器。

Undertow非常轻巧,Undertow核心罐的容量不到1Mb。它在运行时也是轻量级的,一个简单的嵌入式服务器使用不到4Mb的堆空间。

链接到官方网站


答案 2

由于您将其标记为泽西岛,因此我将提到泽西岛文档显示了如何使用内置于 Java 运行时的 HTTP 服务器进行部署的示例:

https://jersey.java.net/documentation/latest/deployment.html#deployment.http


推荐