Enterprise beans 是服务器端的应用程序组件,如 Enterprise JavaBeans (EJB) 3.1 规范中所定义。Enterprise beans 的设计宗旨是以一种非耦合的方式实施应用程序需要实现的业务逻辑,以便鼓励对代码的重复使用。 Enterprise beans 以 Java 类的形式编写,并使用适当的 EJB 注释进行注释。它们可以通过自己的存档 (JAR 文件)部署到应用服务器,也可以部署为 Jakarta EE 应用的一部分。应用服务器管理每个企业 bean 的生命周期,并为它们提供服务,如安全性、事务和并发管理。 企业 bean 也可以定义任意数量的业务接口。业务接口可以控制 bean 的哪些方法可供客户端使用,也可以允许访问在远程 JVM 中运行的客户端。 企业 Bean 包括三种类型:会话(Session)Bean、消息驱动(Message-driven)Bean和实体(Entity)Bean。

会话Bean

会话 Bean 封装了一组相关的业务流程或任务,并注入到请求它们的类。会话 bean 包括三种类型:无状态(stateless),有状态(stateful)和单例(singleton)。

消息驱动Bean

消息驱动的 Bean (MDB) 为应用程序开发提供事件驱动的模型。MDB 规范不会注入或从客户端代码调用,而是由来自消息传递服务的消息(如 Java 消息传递服务(JMS)服务器)触发。Jakarta EE 规范要求 JMS 被支持,但其他消息传递系统也可以被支持。

Entity Beans

现在,实体 Bean 在 EJB 3.1 中已被弃用,建议使用 JPA 实体替代它。实体 Bean 应该仅用于与旧的系统实现向后兼容。