我正在做一个项目,我们需要构建几个连接到一个数据库的“独立”模块。这些模块主要是后台业务流程,所以前端不多。除了一个显示数据并允许基本 CRUD 功能的 Web 模块。为此,我们计划使用以下技术:
- JPA2(使用 hibernate-jpa 实现)
- CDI(使用弹簧实现)
- JSF2 + primefaces(用于我们的网络模块)
最初的计划是为每个模块创建一个 jar 文件(使用 main 方法)并通过服务包装器将其安装为(Windows)服务。对于我们的 Web 模块,我们将使用 Glassfish 或 JBoss 来运行它。然而,最近我们想到了 Java EE。我们可以在 Glassfish 或 JBoss 等 Java EE 容器中运行我们的所有模块,而不仅仅是我们的 Web 模块。关于我们使用 Java EE 的案例的一些问题:
- 我们还可以/应该将 CDI 与 spring 一起使用吗?还是我们应该切换到 EJB3?
- 当我们在容器而不是独立模块中使用 JPA 时,它的后果是什么?有什么区别吗?
- 由于我们的大多数模块都与 Web 无关,在 Java EE 容器中运行它们是否仍然有意义?