我应该选择Tomcat还是完整的Java EE容器?

4

我需要在现有应用程序之上设计一个Web服务层。实际上,我最感兴趣的是WS-Security和JMS支持,可能还包括JTA。

对于这个任务来说,最好使用哪个服务器?选择熟悉的轻量级Tomcat是否明智,还是最好选择实现完整Java EE堆栈的服务器,例如JBoss AS、WebLogic或甚至GlassFish?


1
未来的读者请注意,自2009年以来已经发生了很多变化。请参阅更近期的文章为什么人们选择Tomcat而不是Java EE兼容的应用服务器? - David Blevins
4个回答

7

一般来说,除非你明确知道自己特别需要使用Java EE服务,否则最好只使用Tomcat。Java EE环境非常重量级;J2EE是针对像eBay这样的大型环境而设计的。(我曾编写Sun的第一个J2EE架构课程; 我已经关注这些争论很长时间了。)

但是,你提到了“JMS”,这严格来说是一个Java EE服务。


从Tomcat迁移到完整的JEE堆栈相对来说是比较简单的。 - skaffman

2
你可能想尝试一下JBoss并了解它是否符合你的需求,但如果你想继续使用Tomcat,你可以考虑使用Spring框架来查看它是否具有你所需的功能,因为它是一种在没有Java EE容器的情况下拥有Java EE的方式。
这取决于你是否想尝试一些想法并查看哪些适合你,或者只是做一件事,并坚持不懈。
我倾向于进行实验,直到我感到足够自信,以便做出最佳决策。
个人而言,我会选择Tomcat和Spring,但我以前使用过Spring。
如果你能提供某些功能的用例,那将很有帮助,以便查看是否有更好的答案。

1

除非你需要Java EE堆栈中Tomcat没有提供的东西,否则我会使用Tomcat。

此外,如果你不是专门为容器编写代码,那么你随时可以在以后决定使用Java EE堆栈中的项目。


1

我认为你应该开始使用一个全栈的Java EE容器。 当然,你可以将Java EE功能附加到Tomcat上,但是当你在组合JMS、JTA、WS等时,你实际上是在自己构建一个Java EE服务器。JBoss、Glassfish、JonAS等都提供了一个经过测试和(希望)更稳定的解决方案,比你自己构建的要好:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接