我想对运行一个" Spring Application"的容器产生疑问,在我看来,Spring Framework提供的许多功能之一是创建没有容器EE的应用程序的可能性。是否正确使用这种类型的容器(" WildFly"," GlassFish")和弹簧项目?在我的选择中是错的,但我愿意倾听更多的人。
我看到一篇文章,其中作者用WildFly展示了Spring 4的功能,但我并不同意,所以我想在这里就这个话题提出更多意见。
答案 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;这是不正确的:
话虽如此,我们不能忘记,如果你愿意,Spring也会使用一些EE服务。因此,例如,如果您需要将Spring与JMS一起使用,那么您仍然需要一个JMS容器。在这种情况下,您可以使用EE Server而无需安装其他服务,也可以在Tomcat中启动JMS容器。
除了EE功能之外,还有与服务器相关的功能问题,例如可配置性/可管理性(Web界面,CLI),HA,可扩展性......这些因服务器而异,我认为Jboss 7 / Widfly在这些方面做得很好。