首页 文章

JBoss再次与Tomcat [关闭]

提问于
浏览
137

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

5 回答

  • 2

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

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

    How to decide whether to use Tomcat or a full stack Java EE application server:

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

    • 用于异步集成的JMS消息传递

    • Web服务引擎(JAX-WS和/或JAX-RS)

    • 管理功能,如JMX和脚本管理界面

    • 高级安全性,例如与第三方目录的开箱即用集成

    • EAR文件而不是"only" WAR文件支持

    • 所有其他"great" Java EE功能我不记得了:-)

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

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

    我的2美分

  • 7

    看看TOMEE

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

  • 13

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

  • 6

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

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

    如果您不需要JBoss提供的任何附加功能,请选择其中一个你最舒服的 . 哪个最容易配置和维护?

  • 131

    我还读到,对于某些服务器,例如只需要注释持久化上下文,但在某些服务器中,注入应该手动完成 .

相关问题