嵌入式 EJB 容器与生产中使用的实际服务器容器之间的明显区别是什么。
我可以找到 2 个场景。
- 例如。 glassfish-embedded-static-shell.jar - 没有任何实现,依赖于本地安装的 glassfish 服务器。
- 与 OpenEJB 类似 - 只需将 jar 添加到类路径中,无需安装。
AFAIK,两者都称为嵌入式容器。那么,它的真正含义是什么?
此外,嵌入式容器是否具有 EJB 规范支持的所有功能?
最佳答案
服务器 EJB 容器作为应用程序服务器应用程序的一部分启动,通常与应用程序服务器中包含的其他服务和技术进行更深入的集成。当您获得控制权时(例如,因为您的类有一个 main 方法,并且您希望拥有 EJB),您的应用程序将启动可嵌入的 EJB 容器。因此,可嵌入的 EJB 容器方便进行单元测试。
可嵌入的 EJB 容器可以但不要求具有 EJB 规范支持的所有功能。 EJB 3.1 规范的表 27(第 21.1 节)列出了可嵌入 EJB 容器所需的功能。特别是,嵌入式 EJB 容器不需要支持:
- 远程 EJB(作为客户端或服务器)。
- 网络服务
- 计时器
- MDB 和实体 Bean
关于ejb-3.0 - 嵌入式 EJB 容器与实际服务器容器有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9655337/