通常 Jetty 被称为 轻量级替代品,当涉及像Tomcat这样的servlet容器和像Glassfish这样的应用服务器时。
我想在CloudFoundry上运行RESTful服务。使用jetty-runner
java -jar target/dependency/jetty-runner.jar target/*.war
工作得很好,除了我遇到运行Jetty 9.1.3(当前稳定)/ w Java 8 的问题。所以我contributed a patch来解决这个问题和其他一些小代码清理补丁。在这里,我看到了Jetty的代码,它的形状并不像我希望的那样......
好吧,我只是不想将我的企业应用委托给Jetty并寻找其他选择。同样 5.x MB,jetty-runner.jar 仍然很大。我设法将其剥离到1.6 MB ,我仍然可以运行我的应用程序。因此,更轻量级的方法是可行的。
是否有轻量级的GlassFish或Tomcat。 我只需要在Web服务器上下文中运行servlet-api.jar(v3.1)。没有JSP,没有websocket-server,没有其他Voodoo。
答案 0 :(得分:25)
Undertow是一个用java编写的灵活的高性能Web服务器, 提供基于NIO的阻塞和非阻塞API。
Undertow有一个基于组合的体系结构,允许您构建 通过组合小型单一用途处理程序的Web服务器。给你 在完整的Java EE servlet 3.1之间进行选择的灵活性 容器,或低级非阻塞处理程序,对任何东西 之间。
Undertow非常轻巧,Undertow核心罐即将推出 在1Mb以下。它在运行时也很轻巧,简单 嵌入式服务器使用不到4Mb的堆空间。
链接到official site。
答案 1 :(得分:4)
由于您将其标记为Jersey,我会提到Jersey文档显示了如何使用内置于Java运行时的HTTP服务器进行部署的示例:
https://jersey.java.net/documentation/latest/deployment.html#deployment.http
答案 2 :(得分:0)
通过Pippo系统要求,我找到了TJWS - Tiny Java Web Server and Servlet Container,BSD许可证。