嵌入式EJB容器与实际服务器容器之间的区别是什么



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

我能找到2个sceanrios。

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

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

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

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

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

  • 远程EJB(作为客户端或服务器)
  • Web服务
  • 计时器
  • MDB和实体bean

最新更新