Tomcat 7上的CDI - 它有意义吗?

时间:2012-08-27 09:06:55

标签: tomcat jsf-2 java-ee-6 cdi

如果我可以选择,我使用JBoss 7作为使用JSF 2和CDI的Java EE 6项目。

但有时候,客户项目的环境或多或少是设定的 - 所以在一种情况下我们只限于Tomcat(6或7)。

所以,我读了几篇关于在Tomcat中使用CDI(例如WELD)和JSF 2的文章,这表明这样做基本没问题。

不过,我的问题是 - 它有意义吗?或者servlet容器是不是这种架构的合适环境?有没有人使用Tomcat + CDI获得比演示项目更多的经验?

提前致谢!

2 个答案:

答案 0 :(得分:13)

好问题,首先:)

将企业应用程序部署到servlet引擎是例如春天,所以它当然是可能的。但是你会知道Spring是一个完整的API和配置文件生态系统,而不是你简单地放在服务器上并且玩得开心的几个JAR。

我和Weld& amp;关于Tomcat 7的JSF,它运行得很好。但HelloWorldOnTomcat.java与真实客户的真实应用程序之间存在重大差异。我相信你知道这一点。

我会说你可以在相对较短的时间内编译一个不错的设置。 CDI和JSF都不会有问题。 取决于您的具体要求,您将不得不处理开箱即用的Tomcat未涵盖的其他方面。安全性,群集,故障转移,消息传递,异步等,以指出一些问题(和事务,如评论中所述)。

如果你(或多或少)熟练掌握这些要求,你即将开展的项目相当放松,不应该控制下一个火星任务 - 我当然会试一试。

另一方面,如果您了解这些要求,我会寻找(a)Java EE应用服务器上的设置,或(b)Tomcat上的另一个堆栈。

答案 1 :(得分:4)

看看Apache Tomee:

  

Apache TomEE,发音为“Tommy”,是一个全Apache Java EE 6 Web   配置文件认证堆栈,其中Tomcat是顶级狗。 Apache TomEE是   从一个vanilla Apache Tomcat zip文件组装而成。我们从Tomcat开始,   添加我们的罐子并拉上其他的拉链。结果是添加了EE的Tomcat   功能 - TomEE。