Eclipse+JBoss+EJB3的SessionBean注释方法

有时需要在Session Bean中初始化和释放一些资源。这些工作应该在SessionBean的@PostConstruct和@PreDestroy方法中进行。其中用 @PostConstruct注释的方法在SessionBean的构造方法调用之后以后EJB容器在处理完一些其他工作后调用。用 @PreDestroy注释的方法在SessionBean的对象实例被EJB容器销毁之前调用。

成都创新互联公司专注于企业全网整合营销推广、网站重做改版、孟津网站定制设计、自适应品牌网站建设、H5场景定制商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为孟津等各大城市提供网站开发制作服务。

除此之外,当有状态的SessionBean存在一定时间未被调用时,EJB容器会将该SessionBean对象钝化(Passivate),也就是保存在硬盘中。当再次访问时,EJB容器会激法该SessionBean。在这两种情况下,EJB容器会分别调用SessionBean的 @PrePassivate和@PostActivate方法。可以在@PrePassivate方法中将sessionbean中的资源保存或释放,如打开的数据库连接等。在@PostActivate方法中可以恢复相应的资源。如下面的代码所示:

     
     
     
  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 shoppingCart = new ArrayList();  
  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 getCommodity()  
  52.     {  
  53.         return shoppingCart;  
  54.     }      

【编辑推荐】

  1. JBoss Tools简介及下载地址
  2. JBoss Developer Studio简介
  3. Eclipse用户中使用Linux的数量赶超Windows
  4. 实战角度比较EJB2和EJB3的架构异同
  5. EJB3.0:是脱胎换骨,还是重蹈覆辙?
            

网页名称:Eclipse+JBoss+EJB3的SessionBean注释方法
URL链接:http://www.shufengxianlan.com/qtweb/news20/409320.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联