Tomcat和TomEE、TomEE和TomEE Plus有啥区别
Posted
技术标签:
【中文标题】Tomcat和TomEE、TomEE和TomEE Plus有啥区别【英文标题】:What is the difference between Tomcat and TomEE, TomEE and TomEE PlusTomcat和TomEE、TomEE和TomEE Plus有什么区别 【发布时间】:2015-08-12 16:09:49 【问题描述】:我想在服务器中部署 EJB ear,但对于在 tomcat
、TomEE
和 TomEE Plus
中选择服务器感到非常困惑。
Tomcat
和TomEE
有什么区别?
TomEE
和 TomEE Plus
有哪些新功能?
在哪种情况下选择TomEE
和TomEE Plus
有意义?
所以我需要一些建议才能做出明智的决定。
【问题讨论】:
【参考方案1】:这是Tomcat、TomEE和TomEE+之间的函数比较矩阵:@987654329 @ (来源:http://tomee.apache.org/comparison.html)
1. Tomcat vs TomEETomcat是支持servlet和JSP技术的servlet容器。 TomEE 比 Tomcat 更广泛,支持许多其他 Java EE 技术(由 JSR-xxx 指定)。
2. 比较 TomEE 与 TomEE+
TomEE 包含: CDI - Apache OpenWebBeans EJB - Apache OpenEJB JPA - Apache OpenJPA JSF - Apache MyFaces JSP - Apache Tomcat JSTL - Apache Tomcat JTA - Apache Geronimo 事务 Servlet - Apache Tomcat Javamail - Apache Geronimo JavaMail Bean 验证 - Apache BValTomEE+ TomEE Plus 发行版增加了以下内容: JAX-RS - Apache CXF JAX-WS - Apache CXF JMS - Apache ActiveMQ 连接器 - Apache Geronimo 连接器
(来源:http://tomee.apache.org/apache-tomee.html) Tomcat 有什么新功能?当然,请参阅Tomcat change log。 TomEE plus 有什么新功能?见TomEE change log。
3. 选择 TomEE 还是 TomEE plus?
请参阅上面的函数矩阵,在您的应用程序中选择您将使用的函数。然后自己选择Servlet container
/Web profile application server
/Application server
。
【讨论】:
你能帮我弄清楚一件事吗,这里的支持期限是否是应用程序服务器将提供库,例如 JPA 和 OpenJPA 作为它的实现或更多,例如 Tomcat不支持 JPA,所以我们不能使用 Hibernate,它是 JPA 的另一种实现? 您可以将 JPA 与 Apache Tomcat 一起使用(我相信 100%),您需要将 JPA 实现依赖项添加到您的应用程序中。例如:***.com/a/7230084/3728901【参考方案2】:Apache Tomcat 是一个 Java servlet 容器,它实现了以下规范:
-
Java Servlet 规范
Java 服务器页面 (JSP)
表达语言 (EL)
WebSocket
您选择的 Tomcat 版本将决定支持的上述规范的版本。
Apache TomEE 是一个经过 Java EE Web Profile 认证的堆栈,它构建在与其他相关技术集成的 Apache Tomcat 基础之上。它添加了以下规范的实现(使用括号中显示的 Apache 项目):
-
CDI - Apache OpenWebBeans
EJB - Apache OpenEJB
JPA - Apache OpenJPA
JSF - Apache MyFaces
JSP - Apache Tomcat
JSTL - Apache Tomcat
JTA - Apache Geronimo 事务
Servlet - Apache Tomcat
Javamail - Apache Geronimo JavaMail
Bean 验证 - Apache BVal
Apache TomEE+ 添加:
-
JAX-RS - Apache CXF
JAX-WS - Apache CXF
JMS - Apache ActiveMQ
连接器 - Apache Geronimo 连接器
请注意,所有这些都可以从这些 Apache 网站上的一些明显位置获得:
Apache TomEE Apache Tomcat如果我理解正确的话,整个 EAR 的东西已经被放弃,取而代之的是古老的 WAR 文件。但是,如果您必须部署 EAR 文件,则很可能需要 Apache TomEE。 Apache Tomcat 当然不知道该怎么处理 EAR 文件。
【讨论】:
以上是关于Tomcat和TomEE、TomEE和TomEE Plus有啥区别的主要内容,如果未能解决你的问题,请参考以下文章
如何解决 TomEE 8.x、Hibernate 5.4 和 Java 8 的 ASM 问题?