一尘不染

Tomcat 7上的CDI-有意义吗?

tomcat

如果可以选择的话,我会将JBoss 7用于使用JSF 2和CDI的Java EE 6项目。

但是有时,客户项目的环境或多或少都已设定好-因此,在一种情况下,我们仅限于Tomcat(6或7)。

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

不过,我的问题是-这有意义吗?还是servlet容器不是这种架构的正确环境?除了演示项目以外,还有其他人使用Tomcat + CDI的经验吗?

提前致谢!


阅读 256

收藏
2020-06-16

共1个答案

一尘不染

好问题,首先:)

将企业应用程序部署到servlet引擎是例如Spring的主要场景,因此肯定有可能。但是您会知道,Spring是一个由API和配置文件组成的完整生态系统,而不是您简单地放在服务器上并能玩得开心的几个JAR。

我在Tomcat
7上与Weld&JSF一起玩了很多,而且效果很好。但是,HelloWorldOnTomcat.java和面向实际客户的真实应用程序之间存在重大差异。我确定您知道这一点。

我想说,您将能够在相对较短的时间内编译出不错的设置。CDI和JSF都不会有问题。 但是
根据您的具体要求,您将不得不处理现成的Tomcat未涵盖的其他方面。安全性,群集,故障转移,消息传递,异步性等一些问题(以及注释中提到的事务)。

如果您(或多或少)精通这些要求,而您即将进行的项目相当轻松,不应该控制下一个火星任务-我当然可以尝试一下。

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

2020-06-16