当前位置:首页 > 全部子站 > IT > 思科认证

经验之谈:对EJB中SessionBean的见解

来源:长理培训发布时间:2017-12-13 14:46:38

  一.Enterprise Beans

  在EJB(Enterprise Java Beans)中定义了两种不同类别的Enterprise Bean :  *会话 Bean (Session Bean) 
1. 会话 Bean (Session Bean) 
A. 状态会话 Bean (Stateful Session Bean) 
1.1 状态会话 Bean (Stateful Session Bean) 
1.2无状态会话 Bean (Stateless Session Bean) 
实体Bean (Entity Bean)只是数据模型,它不包括商务逻辑。实体Bean (Entity Bean)可以将关系/对象数据库的数据映射到内存中供其它组件使用。实体Bean (Entity Bean)是一直存在的,而且具有很高的容错性能。实体Bean (Entity Bean)能供允许多用户同时访问。

  二. 会话 Bean (Session Bean)

  Ejb的执行过程是被放在一个EJB容器中进行的,所以客户端不会直接调用我们写好的Enterprise Bean ,而是调用EJB容器生成的一个EJBObject (EJB对象)来实现。那么,我们在编写服务器端的Enterprise Bean 时,就要考虑这点。既然客户端不能直接访问,就由EJBObject来代劳,所以在编写服务器端时,就要编写服务器端的一个接口(Remote)用来与客户机联系,实力化EJBObject。要生成EJBObject 就要调有Home 接口,来建立这个实力。

  以下是会话 Bean 的代码分析:  A.Enterprise Bean 类:sailorsy.class 
它是EJB容器和Enterprise Bean互相作用的关口。 
import javax.ejb.*; 
private SessionContext ctx=null; 
this.ctx=ctx; 
}//class sailorsy ejbCreate(…)方法 
import java.rmi.*; 
public class sailorsy implements SessionBean{ 
public voic setSessionContext(SessionContext ctx){ 
}//setSessionContext 
}//ejbCreate 
如果初始化的Enterprise Bean 过多,EJB容器将其中的一些挂起(passivate),释放他们所占用的空间。 
import javax.ejb.*; 
private SessionContext ctx=null;

  public voic setSessionContext(SessionContext ctx){ 
}//setSessionContext

  public void ejbCreate() { 
public void ejbPassivate() { 

  }//class sailorsy

|||

  4.ejbActivate()方法 
import java.rmi.*; 
public class sailorsy implements SessionBean{ 

  public voic setSessionContext(SessionContext ctx){ 
}//setSessionContext

  public void ejbCreate() { 
public void ejbPassivate() { 

  public void ejbActivate() { 

  }//class sailorsy ejbRemove()方法 
import java.rmi.*; 
public class sailorsy implements SessionBean{ 

  public voic setSessionContext(SessionContext ctx){ 
}//setSessionContext

  public void ejbCreate() { 

  public void ejbPassivate() { 

  public void ejbActivate() { 

  public void ejbRemove() { 

  public String showname(){ 
}//自己的商务方法 
以上这些是EJB必需的回调方法,我们可以在里面加入自己的方法,加入自己的商务逻辑。 
import java.rmi.*; 

  public interface sailorsyHome extends EJBHome { 

import java.rmi.*; 

  public interface sailorsyRemote extends EJBObject { 
}

 

|||

  三.调用会话 Bean:sailorsyTestClient1

  import javax.naming.*; 
import javax.rmi.PortableRemoteObject; 

  public class sailorsyTestClient1 { 

  //Construct the EJB test client 
try { 
Context ctx = new InitialContext();

  //look up jndi name 

  //cast to Home interface 

  } 
e.printStackTrace(); 
}

  //----------------------------------------------------------------------------
//----------------------------------------------------------------------------

  public sailorsyHome getHome() { 

  public static void main(String args) throws Exception{ 
sailorsyRemote sr=client.getHome() .create() ; 
System.out.print(s); 
// methods that will return a Remote interface reference. Then 

以上的EJB在win2000+jbuilder5/jbuilder6+BAS4.5经过测试。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)