吴江重点小学排名2017:一个简单的EJB例子 - AJava

来源:百度文库 编辑:中财网 时间:2024/04/30 10:14:21

开发一个简单的EJB

一:EJB开发基本上都遵循一个过程,从总体上说,可以分成 五个步骤:

.EJB程序代码编写  
.EJB程序代码编译
.EJB部署描述文件编写  
.打包
.编译生成容器代码

二:简单介绍 EJB代码编写
HelloWorld EJB程序代码包括的接口和类名如下:

HelloHome 主接口 继承  javax.ejb.EJBHome 
HelloHome.java 文件名
功能:定义创建方法 
Hello 远程接口  继承  javax.ejb.EJBObject 
Hello.java 文件名
功能:定义业务逻辑方法 

HelloBean Bean   类 继承  javax.ejb.SessionBean   HelloBean.java 文件名
功能:实现业务逻辑 
HelloClient   客户端类  HelloClient.java 文件名
功能:测试程序

三:代码编写源码

<1>:HelloHome.java

  1. package com.aaa.cjh;   
  2. public interface HelloHome extends javax.ejb.EJBHome {   
  3.     Hello  create()throws java.rmi.RemoteException,   
  4.     javax.ejb.CreateException;   
  5. }  

 <2>:Hello.java

  1. package com.aaa.cjh;   
  2.   
  3. public interface Hello extends javax.ejb.EJBObject{   
  4.     public String hello()throws java.rmi.RemoteException;   
  5.     public String helloOne()throws java.rmi.RemoteException;   
  6. }   

 <3>:HelloBean.java

  1. package com.aaa.cjh;   
  2.   
  3. import javax.ejb.SessionContext;   
  4.   
  5. import org.apache.log4j.Logger;   
  6.   
  7. public class HelloBean implements javax.ejb.SessionBean {   
  8.   
  9.  Logger log = Logger.getLogger(HelloBean.class);   
  10.     
  11.     private SessionContext ctx;   
  12.        
  13.     public void ejbCreate(){   
  14.      log.debug("ejbCreate()");   
  15.     }   
  16.     public void ejbRemove(){   
  17.      log.debug("ejbRemove()");   
  18.     }   
  19.     public void ejbActivate(){   
  20.      log.debug("ejbActivate()");   
  21.     }   
  22.     public void ejbPassivate(){   
  23.      log.debug("ejbPassivate()");   
  24.     }   
  25.     public void setSessionContext(javax.ejb.SessionContext ctx){   
  26.         this.ctx =ctx;   
  27.     }   
  28.     public String hello(){   
  29.      log.debug("hello()");   
  30.         return "Hello,-----------------World!";   
  31.     }   
  32.        
  33.     public String helloOne(){   
  34.      log.debug("helloOne()");   
  35.         return "helloOne,-----------------World!";   
  36.     }   
  37.  }   

  <4>:HelloClient.java

  1. package com.aaa.cjh;   
  2. import java.util.Properties;   
  3.   
  4. import javax.naming.Context;   
  5. import javax.naming.InitialContext;   
  6. import javax.rmi.PortableRemoteObject;   
  7.   
  8. public class Test {   
  9.   
  10.  /**  
  11.   * @param args  
  12.   */  
  13.  public static void main(String[] args) {   
  14.   
  15.   Properties prop = new Properties();   
  16.         prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");   
  17.         prop.put(Context.PROVIDER_URL, "t3://localhost:端口号");   
  18.         prop.put(Context.SECURITY_PRINCIPAL, "weblogic用户名");   
  19.         prop.put(Context.SECURITY_CREDENTIALS, "weblogic密码");   
  20.            
  21.         Context context = null;   
  22.         try {   
  23.          context = new InitialContext(prop);   
  24.          HelloHome home = (HelloHome) PortableRemoteObject.narrow(context.lookup("HelloBean"),HelloHome.class);   
  25.             Hello hello = home.create();   
  26.             String docc=hello.hello();   
  27.             String doccc=hello.helloOne();   
  28.             System.out.println("完成");   
  29.             System.out.println(docc);   
  30.             System.out.println(doccc);   
  31.             context.close();   
  32.         } catch(Exception ex) {   
  33.          ex.printStackTrace();   
  34.         }   
  35.   
  36.  }   
  37.   
  38. }   

四:EJB部署文件编写

<1>:ejb-jar.xml

  1.   
  2.   
  3.   
  4.     
  5.       
  6.       HelloBean  
  7.       HelloBean  
  8.       com.aaa.cjh.HelloHome  
  9.       com.aaa.cjh.Hello  
  10.       com.aaa.cjh.HelloBean  
  11.       Stateless  
  12.       Container  
  13.       
  14.     
  15.     
  16.       
  17.         
  18.         HelloBean  
  19.         *  
  20.         
  21.       Required  
  22.       
  23.     
  24.   


<2>:weblogic-ejb-jar.xml

  1.   
  2.   
  3.   
  4.     
  5.     HelloBean  
  6.     HelloBean  
  7.     
  8.   

<3>:MANIFEST.MF

Manifest-Version: 1.0
Created-By: 1.5.0_04 (Sun Microsystems Inc.)

五:打包  pkg.bat 文件

@echo off
set PATH=D:\Program Files\Java\jdk1.5.0_04\bin;%PATH%

del HelloBean.jar
jar -cvf HelloBean.jar .

六:部署EJB 该实例在weblogic中部署EJB的jar包

以上操作完成后,执行HelloClient.java内进行调用测试。