2

嵌入式 EJB 容器与生产中使用的实际服务器容器之间的明显区别是什么。

我可以找到 2 个场景。

  1. 例如。glassfish-embedded-static-shell.jar - 没有任何实现,依赖于 glassfish 服务器的本地安装。
  2. 像 OpenEJB - 它只需要将 jar 添加到类路径中,并且不需要安装。

AFAIK,两者都称为嵌入式容器。那么,它的真正含义是什么?

此外,嵌入式容器是否具有 EJB 规范支持的所有特性?

4

1 回答 1

5

服务器 EJB 容器作为应用程序服务器应用程序的一部分启动,通常与应用程序服务器中包含的其他服务和技术进行更深入的集成。当您获得控制权时,您的应用程序会启动一个可嵌入的 EJB 容器(例如,因为您的类有一个 main 方法,而您想要拥有 EJB)。因此,可嵌入的 EJB 容器便于单元测试。

可嵌入的 EJB 容器可能但不要求具有 EJB 规范支持的所有特性。EJB 3.1 规范的表 27(第 21.1 节)列出了可嵌入 EJB 容器所需的特性。特别是,可嵌入的 EJB 容器不需要支持:

  • 远程 EJB(作为客户端或服务器)。
  • 网页服务
  • 计时器
  • MDB 和实体 bean
于 2012-03-11T15:24:22.187 回答