ejbPassivate()
要确保你的实例变量已经钝化。
example:
public void ejbPassivate(){
connection = null;
}
ejbActivate()
再次获得你的资源,要恢复原状:
example:
public void ejbActivate(){
try{
conntection =myDataSrc.getConntection();
}
catch(Exception e1){
........
}
}
而已你可以将串行话设置成临时(transient),这样效率更高,但是要注意:在ejbActivate()中要重置这些变量值。
关于ejbRemove()
当一个bean处于钝化状态很长时间,容器会自动把他杀死,而不调用ejbRemove()方法。所以最好的解决方案是在ejbPassivate()和ejbRemove()上都写上清理的代码:
example:
public void ejbRemove{
this.cleanUp();
}
public void ejbPassivate(){
this.cleanUp();
}
public void cleanUp(){
try{
myResource.close();
}
catch(Exception ei){
.....
}
}
分享到:
相关推荐
- **生命周期方法**:包括 ejbCreate(), ejbActivate(), ejbPassivate(), ejbRemove() 等,用于管理Bean的生命周期。 3. **事务管理** - EJB 2.0支持声明式事务管理,允许开发者通过ejb-jar.xml配置文件指定事务...
### EJB原理详解及易懂示例 ...虽然EJB的学习曲线较为陡峭,但掌握其核心原理后,开发者将能够构建出更加健壮和高效的应用系统。希望本文所提供的示例和解释能够帮助读者更好地理解和应用EJB技术。
### Eclipse开发EJB文档 #### 一、Session Bean 环境配置及开发过程 **1. 配置编译环境** 在配置EJB开发环境时,需注意EJB 2.0规范所对应的Java环境版本。由于EJB 2.0规范发布时间较早(2001年),其对JDK的要求...
- **激活阶段**: `ejbActivate`方法会在EJB从钝化状态恢复时被调用,这在EJB持久化到磁盘后重新加载时发生。 - **初始化阶段**: `ejbPostConstruct`方法是JSR 250规范定义的,作为依赖注入后的初始化方法,它通常...
其他如`ejbActivate()`、`ejbPassivate()`和`ejbRemove()`分别对应bean的激活、钝化和销毁过程。`setSessionContext()`用于设置session上下文,提供对EJB容器服务的访问。业务方法`sayHello()`实现了与客户端交互的...
"精通EJB第二版"是深入学习这一技术的重要参考资料,它涵盖了EJB的最新发展和最佳实践。 在EJB 2.x时代,EJB主要包括三种组件:会话Bean(Session Beans)、实体Bean(Entity Beans)和消息驱动Bean(Message-...
### EJB3 in Action: Simplifying Complexity and Enhancing Developer Productivity #### Introduction to EJB3 Enterprise JavaBeans (EJB) is a server-side software component model designed for developing ...
`ejbRemove`、`ejbActivate`和`ejbPassivate`是EJB生命周期方法,分别对应Bean的销毁、激活和钝化状态。 XDoclet是EJB早期版本中广泛使用的工具,用于自动生成EJB相关的部署描述符和其他元数据文件。在代码注释中,...
有状态会话Bean除了这些阶段外,还涉及到ejbPassivate()(钝化)和ejbActivate()(激活),因为它们需要在内存中保留状态,可能需要在不活跃时被持久化,然后在需要时重新激活。 编程模型方面,EJB3.0引入了基于...
在生命周期转换时,容器会触发相应的回调方法,如`ejbCreate()`、`ejbActivate()`、`ejbPassivate()`和`ejbRemove()`等,但这些回调方法不是用于直接控制生命周期,而是让开发者在生命周期变化时执行特定操作。...
- EJB2的生命周期方法包括ejbCreate(), ejbActivate(), ejbPassivate(), ejbLoad(), ejbStore(), ejbRemove()等,它们在bean的不同阶段被容器调用,用于初始化、持久化状态和清理资源。 6. **部署描述符** - 部署...
#### 五、三种EJB的关系 在J2EE架构中,三种EJB组件之间的关系通常是: 1. **远程客户端**可以通过**会话Bean**来访问和操作**实体Bean**。 2. **消息驱动Bean**作为异步消息处理组件,通常与其他两种EJB组件协同...
对于会话bean和消息驱动bean,它们有自己的生命周期方法,如` ejbActivate`、`ejbPassivate`、`ejbLoad`和`ejbStore`等。 总的来说,`ejbCreate`在EJB的早期版本中是初始化实体bean的一个常见方式,但在现代EJB规范...
开发一个有状态会话Bean需要继承javax.ejb.SessionBean接口,并实现相应的生命周期方法,如ejbCreate()、ejbRemove()、ejbPassivate()、ejbActivate()等。 5. 部署到应用服务器 在部署到应用服务器时,需要配置ejb...
- **回调方法**:MDB也有特定的回调方法,如ejbActivate、ejbPassivate等,用于管理其生命周期。 - **开发**:创建MDB时,需配置消息监听器和关联的消息目的地。 实体Bean和消息驱动Bean的结合使用,能够构建出高效...
此外,EJB API包括了 ejbCreate() 和 ejbActivate() 等生命周期方法,以及ejbPassivate() 和 ejbRemove() 等操作,开发者可以根据需求重写这些方法。 **部署描述符** EJB 2.0的部署描述符(deployment descriptor)...
MDB(Message-Driven Bean)是一种特殊的EJB,它被设计用来处理来自JMS的消息。MDB具有特定的生命周期,包括创建、激活和销毁阶段。当一个MDB实例被创建时,它会被激活并准备好接收消息。当不再需要时,MDB会被销毁...