2012-03-11 81 views
1

嵌入式EJB容器與生產中使用的實際服務器容器的區別是什麼?嵌入式EJB容器與實際服務器容器之間的區別是什麼

我可以找到2 sceanrios。

  1. 例如, glassfish-embedded-static-shell.jar - 它沒有任何實現,取決於glassfish服務器的本地安裝。
  2. 和OpenEJB一樣 - 只需要將jar添加到classpath中,並且不需要安裝。

AFAIK,都被稱爲嵌入式容器。那麼,它的真正含義是什麼?

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

回答

4

服務器EJB容器作爲應用程序服務器應用程序的一部分啓動,並且通常與應用程序服務器中包含的其他服務和技術進行更深入的集成。當您獲得控制權時(例如,因爲您的類具有主方法並且您想擁有EJB),嵌入式EJB容器由您的應用程序啓動。出於這個原因,可嵌入的EJB容器對於單元測試很方便。

可嵌入的EJB容器可能並不要求擁有EJB規範支持的所有功能。 EJB 3.1規範的表27(第21.1節)列出了可嵌入EJB容器所需的功能。特別地,可嵌入的EJB容器需要支持:

  • 遠程EJB(作爲客戶端或作爲服務器)。
  • WEBSERVICES
  • 定時器
  • MDB和實體bean
相關問題