Tomcat和TomEE有什么区别?TomEE和TomEE Plus有什么区别?

80

我想在服务器上部署EJB ear,但是在tomcatTomEETomEE Plus之间选择服务器时感到非常困惑。

  1. TomcatTomEE之间有什么区别?
  2. TomEETomEE Plus的新功能是什么?
  3. 在哪些情况下选择TomEETomEE Plus是明智的?

因此,我需要一些建议,以便能够做出明智的决定。

2个回答

102
这是关于TomcatTomEETomEE+的功能比较矩阵:

enter image description here (来源: http://tomee.apache.org/comparison.html)
1. TomcatTomEE的比较
Tomcat是支持servlet和JSP技术的servlet容器。TomEETomcat更广泛,支持许多其他Java EE技术(由JSR-xxx指定)。 2. 比较TomEETomEE+
TomEE包含以下内容:
CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JSP - Apache Tomcat
JSTL - Apache Tomcat
JTA - Apache Geronimo Transaction
Servlet - Apache Tomcat
Javamail - Apache Geronimo JavaMail
Bean Validation - Apache BVal

TomEE Plus发行版添加了以下内容:
JAX-RS - Apache CXF
JAX-WS - Apache CXF
JMS - Apache ActiveMQ
Connector - Apache Geronimo Connector

(来源: http://tomee.apache.org/apache-tomee.html)
Tomcat有什么新变化?当然,可以看看Tomcat更改日志
TomEE Plus有什么新变化?可以看看TomEE更改日志

3. 选择TomEE还是TomEE Plus
请参考上面的功能矩阵,在您的应用程序中选择您将使用的功能。然后自己选择Servlet容器/Web配置文件应用服务器/应用服务器


你能帮我澄清一个问题吗?这里的支持术语是指应用服务器是否提供库,例如使用OpenJPA作为其实现的JPA,或者更多,例如Tomcat不支持JPA,因此我们不能使用另一个JPA实现Hibernate? - Fauzi Achmad
你可以在Apache Tomcat中使用JPA(我非常确定),你需要将JPA实现依赖项添加到你的应用程序中。例如:https://dev59.com/22w15IYBdhLWcg3wFHzf#7230084 - Raphaël Colantonio

15

Apache Tomcat是一个Java Servlet容器,实现以下规范:

  1. Java Servlet规范
  2. Java ServerPages(JSP)
  3. 表达式语言(EL)
  4. WebSocket

您选择的Tomcat版本将决定支持上述规范的版本。

Apache TomEE是一个基于Apache Tomcat基础构建的Java EE Web Profile认证堆栈,集成了其他相关技术。它添加了以下规范的实现(使用括号中的Apache项目):

  1. CDI - Apache OpenWebBeans
  2. EJB - Apache OpenEJB
  3. JPA - Apache OpenJPA
  4. JSF - Apache MyFaces
  5. JSP - Apache Tomcat
  6. JSTL - Apache Tomcat
  7. JTA - Apache Geronimo Transaction
  8. Servlet - Apache Tomcat
  9. Javamail - Apache Geronimo JavaMail
  10. Bean Validation - Apache BVal

Apache TomEE+添加了:

  1. JAX-RS - Apache CXF
  2. JAX-WS - Apache CXF
  3. JMS - Apache ActiveMQ
  4. Connector - Apache Geronimo Connector

请注意,所有这些都可以从这些Apache网站的一些明显位置获得:

如果我理解正确,整个EAR文件已被放弃,取而代之的是好旧的WAR文件。但是,如果您必须部署EAR文件,则很可能需要Apache TomEE。 Apache Tomcat肯定不知道如何处理EAR文件。


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