嵌入式EJB容器与生产中使用的实际服务器容器之间的明显区别是什么。
我能找到2个sceanrios。
- 例如,glassfish-embedded-static-shell.jar,它没有任何实现,依赖于glassfish服务器的本地安装
- 就像OpenEJB一样,它只需要将jar添加到类路径中,而不需要安装
AFAIK,两者都被称为嵌入式容器。那么,它的真正含义是什么呢?
此外,嵌入式容器是否具有EJB规范所支持的所有功能?
服务器EJB容器作为应用程序服务器应用程序的一部分启动,通常与应用程序服务器中包含的其他服务和技术有更深的集成。当您获得控制权时,应用程序会启动一个可嵌入的EJB容器(例如,因为您的类有一个主方法,并且您希望拥有EJB)。因此,一个可嵌入的EJB容器对于单元测试非常方便。
一个可嵌入的EJB容器可能但不是必须具有EJB规范所支持的所有特性。EJB 3.1规范的表27(第21.1节)列出了可嵌入EJB容器所需的特性。特别是,不需要可嵌入EJB容器来支持:
- 远程EJB(作为客户端或服务器)
- Web服务
- 计时器
- MDB和实体bean