在各种客户端站点部署小型 Java EE Web 应用程序的范围内,我正在寻找一种简单的应用程序服务器解决方案。
我想我记得听说可以将 Jetty 用作 JavaEE 6 轻量级应用程序服务器,但我现在似乎无法在网络上找到更多证据。
知道我的开发环境是 JSF2 + RichFaces、CDI(焊接)和 JPA 2 => 目前没有 EJB),Jetty 对我来说是一个可能的解决方案吗?
如果是的话,你能给我指出一些帮助我的文档或特定关键字吗?
如果不是,我应该使用什么其他轻量级 Java EE 6 应用程序服务器?
最佳答案
Jetty 是一个 servlet 容器,就像 Tomcat 一样。目前,它完全不适合作为 Java EE 6 应用服务器,因为该堆栈中 servlet 容器的核心要求是 Servlet 3.0 容器。
Jetty 7 是最新的稳定版本,仍然是 Servlet 2.5。目前没有人知道支持 Servlet 3.0 的 Jetty 8 什么时候发布,但实验版本已经可以下载了。见 http://www.eclipse.org/projects/project-plan.php?projectid=rt.jetty
即使 Jetty 8 最终可用,您当然仍需要添加 JSF2 (Mojarra)、CDI (Weld) 和 JPA2 (Hibernate)。
目前轻量级的替代品是 Glassfish V3(尤其是 Web Profile 版本)。这需要 47MB 的下载量,并为您提供完整的网络配置文件。 Glassfish 在现代系统上启动大约需要一秒钟,而在旧系统上则大约需要 2 或 3 秒。内存开销最小。
另一种选择是 Caucho 树脂。距离获得 Java EE 6 Web Profile 认证(请参阅 http://caucho.com/resin-4.0/changes/resin-4.0.14.xtp)还有一英寸的距离,并且对于所有实际目的而言,它已经完全可用作 Java EE 6 应用程序服务器。虽然我没有亲自使用 Resin,但轻量化似乎是他们的首要任务。
(请注意,“轻量级”是一个含糊不清且备受争议的术语)
最后,您可以尝试一下 JBoss AS 6。很少有人会称 JBoss AS 为“轻量级”(在快速硬件上的启动时间至少为 12 秒,下载大小为 181MB),但它是免费和开源的,并且根据您对轻量级的定义,这些数字可能“足够好” .
关于jpa - Jetty 可以用作 Java EE 轻量级应用服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4903823/