国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
一個簡單的EJB例子 - AJava

開發(fā)一個簡單的EJB

一:EJB開發(fā)基本上都遵循一個過程,從總體上說,可以分成 五個步驟:

.EJB程序代碼編寫  
.EJB程序代碼編譯
.EJB部署描述文件編寫  
.打包
.編譯生成容器代碼

二:簡單介紹 EJB代碼編寫
HelloWorld EJB程序代碼包括的接口和類名如下:

HelloHome 主接口 繼承  javax.ejb.EJBHome 
HelloHome.java 文件名
功能:定義創(chuàng)建方法 
Hello 遠程接口  繼承  javax.ejb.EJBObject 
Hello.java 文件名
功能:定義業(yè)務(wù)邏輯方法 

HelloBean Bean   類 繼承  javax.ejb.SessionBean   HelloBean.java 文件名
功能:實現(xiàn)業(yè)務(wù)邏輯 
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. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">  
  3. <ejb-jar>  
  4.   <enterprise-beans>  
  5.     <session>  
  6.       <display-name>HelloBean</display-name>  
  7.       <ejb-name>HelloBean</ejb-name>  
  8.       <home>com.aaa.cjh.HelloHome</home>  
  9.       <remote>com.aaa.cjh.Hello</remote>  
  10.       <ejb-class>com.aaa.cjh.HelloBean</ejb-class>  
  11.       <session-type>Stateless</session-type>  
  12.       <transaction-type>Container</transaction-type>  
  13.     </session>  
  14.   </enterprise-beans>  
  15.   <assembly-descriptor>  
  16.     <container-transaction>  
  17.       <method>  
  18.         <ejb-name>HelloBean</ejb-name>  
  19.         <method-name>*</method-name>  
  20.       </method>  
  21.       <trans-attribute>Required</trans-attribute>  
  22.     </container-transaction>  
  23.   </assembly-descriptor>  
  24. </ejb-jar>  


<2>:weblogic-ejb-jar.xml

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">  
  3. <weblogic-ejb-jar>  
  4.   <weblogic-enterprise-bean>  
  5.     <ejb-name>HelloBean</ejb-name>  
  6.     <jndi-name>HelloBean</jndi-name>  
  7.   </weblogic-enterprise-bean>  
  8. </weblogic-ejb-jar>  

<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包

以上操作完成后,執(zhí)行HelloClient.java內(nèi)進行調(diào)用測試。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Ejb簡明教程[轉(zhuǎn)]
EJB核心技術(shù)及其應(yīng)用
EJB調(diào)用的原理分析
weblogic的JDNI連接
java – 從無狀態(tài)EJB訪問SessionScoped對象
EJB 筆記 -Chapter02 EJB開發(fā)流程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服