JBoss再次与Tomcat对战

Ash*_*ish 138 jboss tomcat

这似乎是一个古老的问题(它是:))Tomcat和JBoss之间哪个服务器更好,但我还没有找到足够好的答案来解决我的问题.

我知道Tomcat只是一个servlet引擎,而且JBoss提供了更多功能,但是我无法理解为什么Tomcat在某些情况下比jboss更好用.我在某处读到JBoss有一个可插拔的架构,如果需要,你可以拔掉JBoss的功能,使其基本上成为一个tomcat servlet容器.如果是这种情况,那么这样做是不是更好,而不是使用Tomcat,以便留下重新插入的东西.

我发现有利于Tomcat的另一个解释是它是轻量级的,这意味着更少的内存需求,或者是否也允许更快的响应.同样,我需要知道jboss不会按照要求加载组件,即如果我只使用servlet,那么jboss将不会跳过其余的功能并自动变为轻量级.

本质上,我的应用程序没有任何Java EE功能,但由于上述原因,支持Tomcat的"轻量级"参数听起来不够令人信服.

请帮忙.

编辑:我们当时最终决定使用tomcat,我们已经使用它超过6个月,非常容易使用.事实上,我们发现了一些实际用途,我们可以在同一台服务器上为不同的开发人员轻松运行多个tomcat实例,jboss也是如此.

我发现tomcat对我们的工作没有任何麻烦,因此当你没有使用大量的Java EE功能时,它可能是正确的选择.PS:请注意我们仍然使用Spring和Hibernate与Tomcat

hom*_*ome 132

首先是事实,也不是更好.正如您已经提到的,Tomcat提供了一个支持Servlet规范的servlet容器(Tomcat 7支持Servlet 3.0).JBoss AS是一个"完整的"应用服务器,支持当前版本的Java EE 6(包括Servlet 3.0).

Tomcat相当轻量级,如果您需要Servlet API以外的某些Java EE功能,您可以通过提供所需的库作为应用程序的一部分来轻松增强Tomcat.例如,如果您需要JPA功能,则可以包含Hibernate或OpenEJB,JPA 几乎可以直接使用.

如何决定是使用Tomcat还是完整堆栈Java EE应用程序服务器:

在开始您的项目时,您应该知道它需要什么.如果您在大型企业环境中,JBoss(或任何其他Java EE服务器)可能是正确的选择,因为它提供了内置支持,例如:

  1. 用于异步集成的JMS消息传递
  2. Web服务引擎(JAX-WS和/或JAX-RS)
  3. 管理功能,如JMX和脚本管理界面
  4. 高级安全性,例如与第三方目录的开箱即用集成
  5. EAR文件而不是"仅"WAR文件支持
  6. 所有其他"伟大的"Java EE功能我都记不清了:-)

在我看来,如果涉及以Web为中心,面向用户的应用程序,Tomcat非常适合.如果后端集成发挥作用,应该(至少)考虑Java EE应用服务器.最后但同样重要的是,将为Tomcat开发的WAR迁移到JBoss应该是为期1天的练习.

其次,您还应考虑环境中的使用情况.如果您的组织已经运行了1,000个JBoss实例,那么无论您的具体要求如何,您都可以随时使用(考虑运营成本或提升技能等方面).当然,这适用于反之亦然.

我的2美分


Deb*_*b J 13

看看TOMEE

它具有构建完整Java EE应用程序所需的所有功能.


Rom*_*cau 7

我肯定会关注TomEE,因为背后的想法是保持Tomcat默认情况下缺少所有JavaEE 6集成.这是一种非常好的妥协


Jon*_*aas 6

严格来说; 没有Java EE功能,您的应用几乎不需要应用服务器;-)

像其他人一样指出JBoss有一个(或多或少)完整的Java EE堆栈,而Tomcat只是一个webcontainer.JBoss也可以配置为仅作为web容器使用,它只是围绕包含的tomcat webcontainer的薄包装器.这样你就可以拥有一个几乎同样轻量级的JBoss,它实际上只是一个围绕Tomcat的薄"包装".这几乎就像是轻盈的.

如果您不需要JBoss提供的任何额外服务,那就去找一个您最舒服的.哪个最容易配置和维护?