EJB容器创建和管理session bean实例,有些时候,你可能需要定制session bean的管理过程.例如,你可能想在创建session bean实例的时候初始化字段变量,或在bean实例被销毁的时候关掉外部资源.上述这些,你都可能通过在bean类中定义生命周期的回调方法来实现.这些方法将会被容器在生命周期的不同阶段调用(如:创建或销毁时).通过使有下面所列的注释,EJB 3.0允许你将任何方法指定为回调方法.这不同于EJB 2.1,EJB 2.1中,所有的回调方法必须实现,即使是空的.EJB 3.0中,bean可以有任意数量,任意名字的回调方法.
・
@PostConstruct:当bean对象完成实例化后,使用了这个注释的方法会被立即调用.这个注释同时适用于有状态和无状态的会话bean.
・@PreDestroy:使用这个注释的方法会在容器从它的对象池中销毁一个无用的或者过期的bean实例之前调用.这个注释同时适用于有状态和无状态的会话bean.
・@PrePassivate:当一个有状态的session bean实例空闲过长的时间,容器将会钝化(passivate)它,并把它的状态保存在缓存当中.使用这个注释的方法会在容器钝化bean实例之前调用.这个注释适用于有状态的会话bean.当钝化后,又经过一段时间该bean仍然没有被操作,容器将会把它从存储介质中删除.以后,任何针对该bean方法的调用容器都会抛出例外.
・@PostActivate:当客户端再次使用已经被钝化的有状态session bean时,新的实例被创建,状态被恢复.使用此注释的session bean会在bean的激活完成时调用.这个注释只适用于有状态的会话bean.
・@Init:这个注释指定了有状态session bean初始化的方法.它区别于@PostConstruct注释在于:多个@Init注释方法可以同时存在于有状态session bean 中,但每个bean实例只会有一个@Init注释的方法会被调用.这取决于bean是如何创建的(细节请看EJB 3.0规范)
.@PostConstruct在@Init之后被调用. 另一个有用的生命周期方法注释是@Remove,特别是对于有状态session bean.当应用通过存根对象调用使用了@Remove注释的方法时,容器就知道在该方法执行完毕后,要把bean实例从对象池中移走.
分享到:
相关推荐
4. **依赖注入(Dependency Injection)**:EJB 3.0引入了JSR 250规范,提供了依赖注入功能,允许容器自动管理Bean的生命周期和依赖关系。通过`@Inject`和`@EJB`注解,可以方便地注入其他Bean或资源,减少了代码的...
EJB容器是运行EJB组件的环境,负责管理bean的生命周期、事务、安全性、并发控制以及资源管理。容器提供了许多服务,如: - **事务管理**:支持不同级别的事务隔离和恢复机制。 - **安全性**:提供角色基的安全...
EJB规范定义了三种主要类型的bean:无状态session bean、有状态session bean和实体bean,每种类型都有其特定的用途和生命周期。 1. **无状态Session Bean** 无状态session bean是最基础的EJB类型,它们不维护任何...
本学习笔记将深入探讨EJB的概念、架构、类型以及如何在实际项目中应用它们。 EJB是一种服务器端的组件模型,它为开发人员提供了面向对象的方法来创建分布式的企业级应用。EJB容器负责管理组件的生命周期、提供安全...
WebLogic EJB学习笔记主要涵盖了企业级Java Bean(Enterprise JavaBeans,简称EJB)在Oracle WebLogic Server中的应用和管理。EJB是Java EE(Java Platform, Enterprise Edition)平台的核心组件,用于构建可扩展、...
5. **生命周期管理**:EJB容器负责Bean的创建、初始化、激活、钝化、销毁等过程,开发者只需关注业务逻辑。 6. **资源注入**:通过依赖注入(Dependency Injection,DI)机制,EJB可以从容器中自动获取所需的资源,...
Weblogic EJB 学习笔记主要涵盖了EJB(Enterprise JavaBeans)的基础知识,包括无状态会话bean、有状态会话bean和实体bean这三种主要的EJB类型,以及EJB在Weblogic服务器中的配置和事务管理。 1. **无状态会话bean*...
### EJB学习笔记4:深入理解实体与JPA #### 实体的概念与作用 实体,在企业级Java开发中,特别是EJB(Enterprise JavaBeans)框架下,指的是具有持久化能力的POJO(Plain Old Java Object)类。不同于实体Bean...
### EJB学习笔记第六部分详解 #### 一、EJB之间的调用 EJB (Enterprise JavaBeans) 是Java EE平台中用于开发分布式企业应用程序的重要组件。在实际开发过程中,经常需要一个EJB调用另一个EJB来实现更复杂的业务...
2. **EJB类型**:讲解三种主要的EJB组件——Session Beans(会话bean)、Message Driven Beans(消息驱动bean)和Entity Beans(实体bean)的角色和用法。 3. **会话bean**:阐述无状态会话bean和有状态会话bean的...
- **生命周期方法(Life Cycle Methods)**:EJB组件有自己的生命周期,包括创建、初始化、激活、钝化、销毁等阶段,开发者可以通过覆盖特定的生命周期方法来实现自定义行为。 EJB的发展经历了多个版本,从EJB 1.0...
【EJB学习笔记2】 EJB,全称Enterprise JavaBeans,是Java EE(现在被称为Jakarta EE)平台的一部分,主要用于构建可复用的、安全的、可伸缩的服务器端应用程序。EJB标准定义了一组规范,使得开发者可以创建分布式...
本学习笔记将聚焦于Java EE的核心技术和组件,包括Struts、JSTL、Spring以及EJB 3.0,这些都是在实际开发中广泛使用的框架和工具。 首先,Struts是Apache软件基金会的一个开源项目,主要作为MVC(Model-View-...
### EJB学习笔记8:深入理解事务处理机制 #### 一、事务的背景知识 **事务**是指一系列操作,这些操作作为一个不可分割的工作单元来执行,即要么全部完成,要么完全不执行。事务的主要特性包括: - **原子性...
- 提供的教程如“EJB学习笔记.docx”、“精通EJB3.0.pdf”等,通常涵盖了EJB的基本概念、组件使用、部署配置以及最佳实践。 9. **源码分析**: - “EJB3.0实例教程(含源码).rar”提供了实际项目源码,帮助读者...
3. EJB的生命周期管理,包括实例化、初始化、激活、钝化、Passivation和销毁。 4. 事务管理,EJB如何支持声明式和编程式事务控制。 5. 容器提供的服务,如安全性、资源注入、调度等。 6. EJB与Web层(如Servlet、JSP...
EJB(day02).txt深入讲解了EJB的生命周期和容器管理。EJB容器负责管理bean的创建、初始化、激活、钝化、销毁等过程,为开发者提供了事务管理、安全性、并发控制等服务。容器通过接口(如 ejbCreate、ejbActivate 等)...
在"学习EJB3基础知识笔记"中,我们将深入探讨EJB3的主要特性和使用方法。 1. **注解驱动的编程模型**: EJB3引入了注解,极大地减少了XML配置文件的使用。通过在实体类、接口或实现类上添加注解,如`@Entity`、`@...