【问题标题】:Lightweight alternative to JettyJetty 的轻量级替代品
【发布时间】:2014-04-23 17:58:37
【问题描述】:

当涉及到 Tomcat 等 servlet 容器和 Glassfish 等应用服务器时,通常将 Jetty 称为 轻量级替代方案。

我想在 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。

【问题讨论】:

  • Jetty 不够轻量级?它的质量不值得信赖?您贡献的补丁历史显示您的问题是由使用冲突的 ASM 版本引起的。这不是码头的错。对不起,但整个你的问题看起来像......咆哮。

标签: java tomcat glassfish jersey jetty


【解决方案1】:

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

Undertow 具有基于组合的架构,可让您构建 通过组合小型单一用途处理程序的 Web 服务器。给你 在完整的 Java EE servlet 3.1 之间进行选择的灵活性 容器或低级非阻塞处理程序,用于 之间。

Undertow 非常轻巧,即将推出 Undertow 核心罐 在 1Mb 以下。它在运行时也是轻量级的,具有简单的 使用少于 4Mb 堆空间的嵌入式服务器。

链接到official site

【讨论】:

【解决方案2】:

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

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

【讨论】:

  • 不幸的是,Jersey 容器不支持任何 servlet 部署描述符,即 web.xml 和已在其中定义的 Servlet。
【解决方案3】:

通过Pippo系统要求,我发现TJWS - Tiny Java Web Server and Servlet Container,BSD许可证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-10
    • 2011-07-18
    • 2013-08-01
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 2010-09-09
    相关资源
    最近更新 更多