EJB 伺服器中圍繞 Bean 的運行環境稱為容器。容器是概念而非物理構件,充當 Bean 與 EJB 伺服器的中介,管理 EJB 物件並協助伺服器元件管理 Bean 資源,提供事務、安全、並發、運行期命名等服務。容器與伺服器界限未明確定義,但 EJB 規範依容器職責定義元件模型。
企業 Bean 透過定義良好的元件模型與容器互動。各類 EJB 可註冊容器產生的生命週期事件,在 Bean 類別方法加上註解註冊特定事件。運行期相關事件發生時,容器調用被註解的方法。例如:
@PostConstruct:實例配置完成、服務注入後調用,供額外初始化。EJB 3.0 無需實作空回調方法,只為感興趣事件編寫代碼。通常訪問非 EJB 系統管理的資源(如封裝舊系統的 Bean)。
javax.ejb.EJBContext 由容器實作,為 Bean 容器契約一部分:
SessionContext 子類MessageDrivenContext 子類提供環境資訊:容器、使用企業 Bean 的客戶端、Bean 本身。Bean 處理客戶端請求與容器回調時可使用。
企業 Bean 介面包含 JNDI 名字空間,稱為環境命名上下文,Bean 可查找所需資源(包括其他 Bean)。