春季项目的容器

时间:2014-05-09 03:13:06

标签: java spring containers

我想对运行一个" Spring Application"的容器产生疑问,在我看来,Spring Framework提供的许多功能之一是创建没有容器EE的应用程序的可能性。是否正确使用这种类型的容器(" WildFly"," GlassFish")和弹簧项目?在我的选择中是错的,但我愿意倾听更多的人。

我看到一篇文章,其中作者用WildFly展示了Spring 4的功能,但我并不同意,所以我想在这里就这个话题提出更多意见。

2 个答案:

答案 0 :(得分:1)

考虑到Spring Web和Web MVC,您通常会使用像Tomcat,Jetty或任何其他servlet容器这样的轻量级容器 - 可能像Spring Boot那样嵌入。

Spring Web可以在没有完整JEE容器的情况下工作,但也可以在一个容器内部工作。

使用没有JEE的Spring,您可以更好地控制所使用的功能。一个完整的appserver有一个捆绑的功能列表,你得到全部或全部。 Spring为您提供所需的选择,从而实现更轻薄的应用。

答案 1 :(得分:0)

嗯,首先,说“"某事"有点棘手”。在软件开发中是错误的还是正确的,主要是在这种主观问题上。与往常一样,这实际上取决于您所需要的以及您正在使用的EE容器。

让我们以Widlfly为例。自从JBoss 7(现在是Wildfly)以来,我认为我们不能说JBoss是一个重的"服务器,因为它在几秒钟内启动,比早期版本快得多。虽然Wildfly确实提供了许多你可能不会使用的服务,但是至少有两个原因说你得到全部或者没有#34;这是不正确的:

  • 您可以停用不需要的服务。
  • Wildfly为其服务使用延迟加载的概念,这意味着它只会加载运行给定应用程序所需的服务。

话虽如此,我们不能忘记,如果你愿意,Spring也会使用一些EE服务。因此,例如,如果您需要将Spring与JMS一起使用,那么您仍然需要一个JMS容器。在这种情况下,您可以使用EE Server而无需安装其他服务,也可以在Tomcat中启动JMS容器。

除了EE功能之外,还有与服务器相关的功能问题,例如可配置性/可管理性(Web界面,CLI),HA,可扩展性......这些因服务器而异,我认为Jboss 7 / Widfly在这些方面做得很好。