首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > EJB3 SessionBean LifeCycle
【标  题】:EJB3 SessionBean LifeCycle
【关键字】:EJB3,SessionBean,LifeCycle
【来  源】:http://www.blogjava.net/UkingLli/archive/2006/10/25/77114.html

EJB3 SessionBean LifeCycle

·@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实例从对象池中移走。

我写了一个statful Session bean.需要等待9分钟左右,容器才会钝化此会话Bean。。。。。
然后经证明,statfulBean的钝化时间是10分钟,完全销毁差不多要15分钟。。。Jboss是个愚蠢的东西
还没有找到相应的文档说明这一问题的,因为钝化后GC不会马上来收,这就导致可能会有潜在的内存泄露问题了。

我只用到JBoss,不知道有没有用Weblogic的朋友是不是也有同样的问题?
Struts 2.0的Action讲解:【上一篇】
Dojo 的 Ajax 简单应用:【下一篇】
【相关文章】
  • iproxy模块代码备份(sessionbean,mdb,jms)
  • 看了ejb3.0的一些资料 (转)
  • EJB3+NetBeans+JSF:Core Java作者的愉快体验
  • EJB3.0学习(一)运行环境配置
  • EJB3.0 规范
  • ejb3.0 one-one 保存的一些代码
  • jboss-seam(jsf+ejb3)学习日记1
  • ejb3 学习第一篇 annotation
  • EJB3.0 + Struts小试
  • RUP中的几种Iteration pattern(一):Incremental Lifecycle
  • 【随机文章】
  • JSP中的TagLib应用(1)
  • 揭露Windows中各种不老实的服务
  • 如何做到多筆資料的同步
  • 有选择的使用第三方GUI库
  • 学习笔记之Object Reference Conversion and Casting
  • 常量和指针(Pointers and Constants)
  • Bash中的变量
  • Solaris 8 (Intel 平台版本)安装指南 --4.系统升级
  • PHP中字符串截断函数
  • MSN Messenger 无法登陆的彻底解决方法
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.