EJB(Enterprise JavaBeans)是一种服务器端组件架构,用于开发和部署多层结构的Java应用。EJB是Java EE(Java Platform, Enterprise Edition)规范的一部分,它允许开发者创建可重用的业务逻辑组件,这些组件可以被部署在兼容Java EE的服务器上。
EJB的主要特点包括:
容器管理:EJB容器负责管理EJB组件的生命周期,包括实例化、事务管理、安全性、持久性等。
事务管理:EJB提供了声明式和编程式事务管理,允许开发者定义事务边界和属性。
安全性:EJB容器可以管理安全性,包括认证和授权。
持久性:对于需要持久化数据的EJB,容器可以管理对象的存储和检索。
远程访问:EJB支持远程方法调用(RMI),允许客户端通过网络调用EJB组件的方法。
可伸缩性和高可用性:EJB组件设计为无状态或有状态会话豆,可以被集群和负载均衡,以提高应用的可伸缩性和高可用性。
EJB有几种类型,包括:
会话Bean(Session Beans):代表应用程序中的业务逻辑,可以是无状态的(Stateless)或有状态的(Stateful)。
实体Bean(Entity Beans):代表数据库中的持久数据,用于CRUD(创建、读取、更新、删除)操作。
消息驱动Bean(Message-Driven Beans, MDB):用于处理JMS(Java Message Service)消息。
随着微服务架构和Spring框架的流行,EJB的使用有所减少,因为它们提供了更轻量级的替代方案。然而,EJB仍然在一些需要高度可伸缩性和事务管理的企业级应用中使用。