JBoss vs Tomcat再次[关闭]


138

这似乎是一个古老的问题(它是:)),即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一起使用


1
J JBoss不会与Tomcat集成吗?
Navi

4
@Navi:不是。它包含Tomcat代码库的分叉版本,但有很大的出入。
skaffman 2011年

1
一个没有j2ee功能的简单Web应用程序应该可以轻松地部署在任何兼容的servlet容器上。鉴于此,先使用哪一个都不重要。我将从最简单的部署开始(Tomcat和Jetty过去都为我服务很好)。
Joel

3
仅供参考,2011年末,Tomcat被JavaEE 6认证为TomEE,可以回答这个古老的问题。
David Blevins

1
一个封闭的查询,具有大约150K的视图,125个投票和0个投票?我知道这些是规则,但我必须说这些规则必须稍作更改。
穆罕默德·利法特

Answers:


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功能:-)

在我看来 Tomcat非常适合以Web为中心,面向用户的应用程序。如果后端集成起作用,则应(至少)考虑使用Java EE应用服务器。最后但并非最不重要的一点是,将为Tomcat开发的WAR迁移到JBoss应该是1天的练习。

其次,您还应该考虑环境内部的用法。如果您的组织已经运行了1000个JBoss实例,那么无论您有什么具体要求(考虑运营成本或技能提升等方面),您都可以始终使用它。当然,反之亦然。

我的2分


13

看一眼 TOMEE

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


7

我当然希望使用TomEE,因为其背后的想法是让Tomcat在默认情况下不提供所有JavaEE 6集成。这是一种非常好的折衷


6

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

就像其他人指出的那样,JBoss具有(或多或少)完整的Java EE堆栈,而Tomcat仅是一个Web容器。也可以将JBoss配置为仅充当Web容器,然后将它作为随附的tomcat Web容器的薄包装。这样,您就可以拥有几乎一样轻量的JBoss,它实际上只是围绕Tomcat的薄“包装”。那几乎是轻巧的。

如果您不需要JBoss提供的任何其他功能,请选择最舒适的一种。哪个是最容易配置和维护的?


1
在tomcat中使用Web服务和jmx有多困难,请您提供一些良好的参考/链接
Ashish

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.