对EJB中SessionBean的见解
一.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)
2. 实体Bean (Entity Bean)
二. 会话 Bean (Session Bean)
Ejb的执行过程是被放在一个EJB容器中进行的,所以客户端不会直接调用我们写好的Enterprise Bean ,而是调用EJB容器生成的一个EJBObject (EJB对象)来实现。那么,我们在编写服务器端的Enterprise Bean 时,就要考虑这点。既然客户端不能直接访问,就由EJBObject来代劳,所以在编写服务器端时,就要编写服务器端的一个接口(Remote)用来与客户机联系,实力化EJBObject。要生成EJBObject 就要调有Home 接口,来建立这个实力。
以下是会话 Bean 的代码分析:
1.setSessionContext(SessionContext ctx)方法
import java.rmi.*;
public class sailorsy implements SessionBean{
public voic setSessionContext(SessionContext ctx){
}//setSessionContext
2.ejbCreate(…)方法
import java.rmi.*;
public class sailorsy implements SessionBean{
public voic setSessionContext(SessionContext ctx){
}//setSessionContext
}//ejbCreate
3.ejbPassivate()方法
import java.rmi.*;
public class sailorsy implements SessionBean{
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
它可以清除EJB容器中的Bean。
import javax.ejb.*;
private SessionContext ctx=null;
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经过测试。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>