Jet Jet可以用作Java EE轻量级应用程序服务器吗?

时间:2011-02-04 23:10:10

标签: jpa java-ee richfaces jsf-2 jetty

在各种客户端站点部署小型Java EE Web应用程序的范围内,我正在寻找一种简单的应用程序服务器解决方案。

我想我记得听说有可能将Jetty用作JavaEE 6轻量级应用服务器,但我现在似乎无法在网上找到更多证据。

知道我的开发环境是JSF2 + RichFaces,CDI(Weld)和JPA 2 =>此时没有EJB),Jetty对我来说是一个可行的解决方案吗?

如果是的话,你能指点我一些文件或特定的关键词帮助我吗? 如果不是,我应该使用哪种轻量级Java EE 6应用服务器?

2 个答案:

答案 0 :(得分:13)

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 Resin。距离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),但它的免费和开源,并且根据您对轻量级的定义,这些数字可能“足够好”

答案 1 :(得分:0)

我非常满意与您的解决方案非常相似但使用Spring 3而不是CDI。它几乎是一样的。所有东西都捆绑在WAR中,开发mvn jetty:run就足够了。无需本地应用服务器。

但是我确信你可以在WAR中嵌入Weld CDI实现。我仍然更喜欢“真正的”CDI JEE 6堆栈或Spring。