久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

EJB 筆記 -Chapter02 EJB開發(fā)流程

 lance library 2011-11-17

Chapter02 EJB開發(fā)流程

一,、開發(fā)EJB的步驟

第一大步:開發(fā)編譯業(yè)務接口和Bean

(1) 編寫業(yè)務接口和Bean

(2) 編譯

第二大步:打包部署到JNDI服務器

(3) 提供部署描述文件

(4) 打包(編譯后的字節(jié)碼文件和部署描述文件)成ejb-jar

(5) 部署ejb-jar到容器

第三大步:測試

(6) 檢測部署是否成功(看容器是否發(fā)現(xiàn))

(7) 識別客戶端程序來調(diào)用EJB

業(yè)務接口(Business Interface):

(1) 對客戶端暴露可以調(diào)用的方法,,它是一個普通的Java接口,POJO類,,或POJI,。

(2) 業(yè)務接口可以劃分為兩類:A、遠程業(yè)務接口

              B,、本地業(yè)務接口

如果客戶端和EJB運行在同一個JVM中,,我們應該用本地接口,否則只能用遠程業(yè)務接口,。

二,、EJB的編程模型和編程涉及的標注

Bean類(The Bean Class):

(1) Bean類也是一個POJO,實現(xiàn)了業(yè)務接口中的方法

(2) Bean類中一般帶有標注(Annotation),,用于代替?zhèn)鹘y(tǒng)的部署描述文件

 @stateless 無狀態(tài)(標注該類是一個無狀態(tài)的會話Bean

 @RemoteXXX.class)(標注該Bean類的業(yè)務接口是XXX.class

(3) Bean類要有缺省的構造方法

(4) Bean類可以不實現(xiàn)業(yè)務接口(因為標注已經(jīng)說明),,不過建議實現(xiàn)

(5) ejb-jar.xmlOptional)標準的部署描述文件

  我們可以用EJB3.0中的標注來代替對描述文件的編寫。

EJB3.0使用了JAVA SE 5.0 中的注釋新特性,只要在方法上寫EJB規(guī)范的注釋,,就可以不用來寫標準的部署表述,,ejb-jar.xml這個要放到jar文件的mate-inf文件夾里。

<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar   xmlns="http://java./xml/ns/javaee" xmlns:xsi="http://www./2001/XMLSchema-instance"   metadata-complete="true" version="3.0"   xsi:schemaLocation="http://java./xml/ns/javaee http://java./xml/ns/javaee/ejb-jar_3_0.xsd">

 <enterprise-beans>

  <session>

    <display-name>HelloBean</display-name>

    <ejb-name>HelloBean</ejb-name>

    <business-remote>test.HelloRemote</business-remote>

    <ejb-class>test.HelloBean</ejb-class>

    <session-type>Stateless</session-type>

    <transaction-type>Container</transaction-type>

    <security-identity>

        <use-caller-identity/>

    </security-identity>

  </session>

 </enterprise-beans>

</ejb-jar>

EJB Client(客戶端):

  (1) EJB不能夠被客戶端直接訪問,,客戶端必須通過業(yè)務接口來調(diào)用EJB

  (2) EJB客戶端分為兩類:

    A,、EJB客戶端與EJB運行在同一個容器中→本地業(yè)務接口

    BEJB客戶端與EJB運行在不同的JVM中→遠程業(yè)務接口

 

EJB 容器(EJB Container):

  (1) EJB容器是一個運行在JVM上的程序

  (2) EJB容器為EJB提供中間件服務,。

 

EJB客戶端的編程步驟:

1,、運行客戶端前要加上在SUN的服務器文件夾中的lib下的javaee.jarappserv-rt.jar

TipsJava Runtime相關的包:javaee.jar(Java EE)appserw-rt.jar(Java 運行時) ,,appserv-ws.jar appserv-jwsacc.jarWeb Service

2、配置系統(tǒng)的JNDI的環(huán)境(客戶端所依賴的ObjectSun運行環(huán)境)

3,、寫測試類,,注意在測試類中也要有業(yè)務接口

  Step1:設置JNDI服務器入口信息( system.setProperty

  Step2:初始化上下文

  Step3:查找JNDI服務器的Stub

  Step4:調(diào)用對象

EJB調(diào)用過程:

  (1) EJB容器將Stub綁定到JNDI服務器上,JNDI上使用的綁定(默認情況下)是遠程業(yè)務接口的全限定名,。

  (2) 客戶端通過上下文(Context)的方法來查找JNDI服務器上綁定的Stub,。

 

在廠商的部署描述中可以配置EJB的實例池,可以一次創(chuàng)建多個EJB的實例,。

注意:EJB一定要先部署到服務器,,EJB需要部署環(huán)境才能運行

EJB客戶端

public class Cilent {

    public static void main(String[] args) throws NamingException {

 

        System.setProperty("jndi.factory","com.sun.jndi.cosnaming.CNCtxFactory");

        System.setProperty("jndi.provider.url","corbaloc::localhost:3007/NameSpace");

        Context ctx=new InitialContext();

        HelloRemote hello=(HelloRemote)ctx.lookup("test.HelloRemote");

        System.out.println(hello.hello());

        System.out.println(hello.helloword("lichen"));

    }

   

}

 

注意:在寫客戶端時,要引入javaee.jarappser-rt.jar還要引入已經(jīng)編譯好的EJBjar文件,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多