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

时间: 2024-10-11 01:25:11

javax.ejb.SessionBean的相关文章

EJB 介绍

EJB 编辑 EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序.凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台.EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准.其特点包括网络服务支持和核心开发工具(SDK). 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),

如何开发EJB?

EJB开发分为两部分:开发EJB和使用EJB 本文示例将使用EJB2.0 :1.工作需要;2.EJB3.0相对于2.0变动不大(添加注解,JPA替换实体Bean实现) 开发EJB的流程 以开发stateless SessionBean为栗. 1.编写SessionBean.需要实现SessionBean接口,并额外添加ejbCreate()方法 2.编写Home接口和Remote组件接口. Remote接口扩展EJBObject接口,添加SessionBean中方法,并抛出异常RemoteExc

我的EJB学习历程

http://blog.csdn.net/sinapaper/archive/2004/06/28/28659.aspx http://blog.csdn.net/sinapaper/archive/2004/06/29/29634.aspx http://blog.csdn.net/sinapaper/archive/2004/06/30/30538.aspx http://blog.csdn.net/sinapaper/archive/2004/07/01/31231.aspx http:/

RAD6.0+EJB+WEBSPHERE+JNDI转eclipse+TOMCAT7+JDK1.7+JNDI+SPRING修改总计

##########################1.去除ejb#######################################################################1.1:导包:javax.xml.rpc-api-1.1.1.jar (复制到路径:webconent/WEB-INF/lib):1.2:从websphere的lib中复制j2ee.jar这个jar包,用压缩软件打开,(注意:j2ee.jar这个包不要放到tomcat下的lib内,tomca

java面试题大全

java面试笔试题大汇总     第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统). 第四,&和&&的区别. 这个问得很少. 第五,HashMap和Hashtable的区

第六周作业 略谈jsp

1.jsp有哪些内置对象?作用分别是什么? 答:JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application servlet 正在执行的内容 out 用来传送回应的输出 config servlet的构架部件 page JSP网页本身 exception 针对错误网页,未捕

java面试题004

1.用String的方法将数据类型转换为String. 2.有一个不定长度的String,其中前面是字母,后边是数字,例如:”abcd123.456″, 要求写一个方法得到其中的数字以String的形式返回,数字保留小数点后两位,不四舍五入,截去多余小 数,例如:”abcd123.456″,得到”123.45″ 如果数字没有小数点,要得到两位为0的小数,例如:”abcd123″,得到”123.00″. 答案如下: 1.String.valueOf(1.23) 2. public String g

JAVA面试题最全集

JAVA面试题最全集 2009-01-19 15:40 3458人阅读 评论(0) 收藏 举报 java面试ejbservletstringhashmap 一.Java基础知识1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别.2.字符串的操作:  写一个方法,实现字符串的反转,如:输入abc,输出cba  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc.3.数据类型之间的转换  如何将数值型字符转换为数字(Integer,Doubl

EJB3.0

由于EJB2.0的复杂性,在Spring和Hibernate[1]  等轻量级框架出现后,大量的用户转向应用轻量级框架.在大家的呼声中, EJB 期待已久的EJB3.0规范终于发布了.在本文中将对新的规范进行一个概要性的介绍,包括新增的元数据支持,EJBQL的修改,实体Bean模型访问bean上下文的新方法和运行时环境等等.作者还讨论了EJB在未来要作出的调整以及EJB3.0与其他开发规范之间的关系. 开始 无论如何由于EJB的复杂性使之在J2EE架构中的表现一直不是很好.EJB大概是J2EE架