eclipse + JBoss 5 + EJB3开发指南(4):Session Bean中的注释方法

简介: 本文为原创,如需转载,请注明作者和出处,谢谢!     有时需要在Session Bean中初始化和释放一些资源。这些工作应该在SessionBean的@PostConstruct和@PreDestroy方法中进行。

本文为原创,如需转载,请注明作者和出处,谢谢!

    有时需要在Session Bean中初始化和释放一些资源。这些工作应该在SessionBean的@PostConstruct和@PreDestroy方法中进行。其中用 @PostConstruct注释的方法在SessionBean的构造方法调用之后以后EJB容器在处理完一些其他工作后调用。用 @PreDestroy注释的方法在SessionBean的对象实例被EJB容器销毁之前调用。
    除此之外,当有状态的SessionBean存在一定时间未被调用时,EJB容器会将该SessionBean对象钝化(Passivate),也就是保 存在硬盘中。当再次访问时,EJB容器会激法该SessionBean。在这两种情况下,EJB容器会分别调用SessionBean的 @PrePassivate和@PostActivate方法。可以在@PrePassivate方法中将sessionbean中的资源保存或释放,如 打开的数据库连接等。在@PostActivate方法中可以恢复相应的资源。如下面的代码所示:

Code:
  1. package service;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5. import javax.annotation.PostConstruct;  
  6. import javax.annotation.PreDestroy;  
  7. import javax.annotation.Resource;  
  8. import javax.ejb.PostActivate;  
  9. import javax.ejb.PrePassivate;  
  10. import javax.ejb.SessionContext;  
  11. import javax.ejb.Stateful;  
  12.   
  13. @Stateless  
  14. public class ShoppingCartBean implements ShoppingCart  
  15. {  
  16.     private List<String> shoppingCart = new ArrayList<String>();  
  17.     @Resource  
  18.     private SessionContext sessionContext;  
  19.       
  20.     public ShoppingCartBean()  
  21.     {  
  22.         System.out.println("constructor:" + sessionContext);  
  23.     }  
  24.     @PrePassivate  
  25.     public void MyPassivate()  
  26.     {  
  27.         System.out.println("passivate");  
  28.     }  
  29.     @PostConstruct  
  30.     public void init()  
  31.     {  
  32.         System.out.println(sessionContext.getInvokedBusinessInterface());                
  33.     }  
  34.     @PreDestroy  
  35.     public void destory()  
  36.     {  
  37.         System.out.println("destory");  
  38.     }  
  39.     @PostActivate  
  40.     public void start()  
  41.     {  
  42.         System.out.println("start");  
  43.     }  
  44.     @Override  
  45.     public void addCommodity(String value)  
  46.     {  
  47.           
  48.         shoppingCart.add(value);  
  49.     }  
  50.     @Override  
  51.     public List<String> getCommodity()  
  52.     {  
  53.         return shoppingCart;  
  54.     }      

目录
相关文章
|
IDE Java 程序员
Eclipse 安装插件报错:An error occurred while collecting items to be installed session context was...解决方法汇总
Eclipse 安装插件报错:An error occurred while collecting items to be installed session context was...解决方法汇总
1008 0
Eclipse 安装插件报错:An error occurred while collecting items to be installed session context was...解决方法汇总
|
Java Android开发
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
eclipse去掉try-catch,构造方法,get,set方法等里面自动生成的注释
95 0
|
Android开发
eclipse文档注释设置、文件(Files)注释标签、类型(Types)注释标签(类的注释)、字段(Fields)注释标签、构造函数(Constructor)标签
设置注释模板的入口Window->Preference->Java->CodeStyle->CodeTemplate然后展开Comments节点就是所有需设置注释的元素。本文将每一个元素逐一给大家介绍一下。方法(Methods)标签、覆盖方法(Overriding Methods)标签、代理方法(Delegate Methods)标签、getter方法标签、setter方法标签.........
150 1
eclipse文档注释设置、文件(Files)注释标签、类型(Types)注释标签(类的注释)、字段(Fields)注释标签、构造函数(Constructor)标签
|
IDE Java 程序员
Eclipse 答疑:代码版权?如何更改 Eclipse 中注释块的 @author 版权信息?
Eclipse 答疑:代码版权?如何更改 Eclipse 中注释块的 @author 版权信息?
178 0
Eclipse 答疑:代码版权?如何更改 Eclipse 中注释块的 @author 版权信息?
|
Java 程序员 Android开发
Eclipse 答疑:Eclipse 如何更换夜间及外部主题?如何修改代码样式、背景颜色、字体大小?为何注释文字大小不一?
Eclipse 答疑:Eclipse 如何更换夜间及外部主题?如何修改代码样式、背景颜色、字体大小?为何注释文字大小不一?
252 0
Eclipse 答疑:Eclipse 如何更换夜间及外部主题?如何修改代码样式、背景颜色、字体大小?为何注释文字大小不一?
|
Java Android开发 Spring
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象
146 0
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象
|
Java Android开发 Spring
sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。
sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。
232 0
sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。
|
Java Android开发 Spring
spring练习,使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出。
spring练习,使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出。
152 0
spring练习,使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出。
|
IDE Java C#
【MyEclipse】——MyEclipse设置注释模板
之前用VisualStudio的时候,可以为类、方法等自动生成风格统一的注释,既然“风格统一”,那么就可以把它们抽象出一套模板。在MyEclipse中同样可以自动生成注释。
【MyEclipse】——MyEclipse设置注释模板
|
Java Android开发
全网首发:彻底解决eclipse注释汉字英文大小不等的问题
全网首发:彻底解决eclipse注释汉字英文大小不等的问题
273 0
全网首发:彻底解决eclipse注释汉字英文大小不等的问题

推荐镜像

更多