zoukankan      html  css  js  c++  java
  • javax.ejb.SessionBean

    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import javax.ejb.CreateException;

    //有状态会话bean
    //多个客户端调用服务器的ejb时,实际上,服务器端只生成一个ejb对 象为其服务,
    //顺序是:构造函数-》setSessionContext-》ejbCreate(),目的是节省内存
    //客户端可以命令服务端ejb消亡, 

     remote.remove();

    //在有状态Bean下,可以消亡其ejb
    //客户端在调用create()方法时就生成ejb对象,没有延迟加载
    //特点:你可以用成员变量来定义一些状态信息,你可以用额外的ejbCreate()来初始化这些状态信息
    //状态会话Bean其实也可以定义成员变量,但是这些成员变量必须是所有客户共享的如数据库连接,有状态会话Bean可以定义自己的变量
    //缺点:消耗资源
    //解决办法:服务器:1钝化机制,长期不用的EJB对象,被暂时保存在缓存中,腾出内存,自动调用ejbPassivate(),如果长期不用,服务器自动调用remove()
    //2:客户端在使用时要将对应的ejb对象消亡,一般情况下是将远程接口保存在session中,在退出系统时,调用其remove()方法
    //尽量不使用有状态的会话Bean,因为可以用Web中有session一来保存状态
    public class RnbEjbBean implements SessionBean {

        SessionContext sessionContext;

        public RnbEjbBean() { //ejb创建时,自动调用
            System.out.println("RnbEjbBean");
        }

        public void ejbCreate() throws CreateException { //ejb创建时,自动调用
            System.out.println("ejbCreate");
        }

        public void setSessionContext(SessionContext sessionContext) { //ejb创建时,自动调用,初始化的工作可以写在这儿
            this.sessionContext = sessionContext;
            System.out.println("setSessionContext");
        }

        public void ejbRemove() { //从接口重写,当ejb消亡时调用,释放资源的代码可以写在这儿
            System.out.println("ejbRemove");
        }

        public void ejbActivate() {//从接口重写,在无状态会话 bean中无用,钝化状态到活动状态时调用,
            System.out.println("RnbEjbBean");
        }

        public void ejbPassivate() { //从接口重写,会话 bean中用,钝化时用
            System.out.println("ejbPassivate");
        }


        public double getRmb(double usd) { //业务逻辑的实现,不能曝露给客户端,和远程接口中的getRmb方法对应
            System.out.println("getRmb");
        }

    http://blog.sina.com.cn/s/blog_48cbe4d90100bdhl.html

  • 相关阅读:
    【模板】2-SAT 问题
    HDU5875 Function
    Codeforces Round #380 (Div. 2)/729B Spotlights 水题
    Codeforces Round #380 (Div. 2)/729E Subordinates 贪心
    Codeforces Round #380 (Div. 2)/729D Sea Battle 思维题
    HDU 5869 Different GCD Subarray Query 树状数组+离线
    HDU 5696 区间的价值 暴力DFS
    HDU 5876 Sparse Graph BFS+set删点
    HDU 5868 Different Circle Permutation Burnside引理+矩阵快速幂+逆元
    HDU 5800 To My Girlfriend DP
  • 原文地址:https://www.cnblogs.com/softidea/p/4104270.html
Copyright © 2011-2022 走看看