freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ejb開發(fā)手冊(cè)-文庫(kù)吧

2025-09-09 11:15 本頁(yè)面


【正文】 如存在于關(guān)系型數(shù)據(jù)庫(kù)中的業(yè)務(wù)實(shí)體數(shù)據(jù), Entity Bean 之間 也可以具有類似的關(guān)系。對(duì)于 Bean 管理持久性的 Entity Bean,需要在 Entity Bean 的組件類中對(duì)關(guān)系進(jìn)行編碼;而對(duì)于容器管理持久性的 Entity Bean,則由容器對(duì)關(guān)系進(jìn)行控制。因此,容 器 管 理 持 久 性 的 Entity Bean 之 間 的 關(guān) 系 , 被 稱 為 容 器 管 理 關(guān) 系(Containermanaged relationship, CMR)。 . 容器管理持久性( Containermanaged Persistence, CMP) 容器管理持久性指由 EJB容器處理 Entity Bean需要的 對(duì)數(shù)據(jù)庫(kù)的訪問。使 Entity Bean 可以脫離特定類型的數(shù)據(jù)庫(kù),從而具有更高的靈活性。 為使 Entity Bean 可以由 EJB 容器對(duì)持久性進(jìn)行管理,需要提供 Entity Bean 的抽象模式( abstract schema)信息。 . 抽象模式( Abstract Schema) 抽象模式作為容器管理持久性的 Entity Bean 部署描述的一部分,提供對(duì) Entity Bean 持久域和關(guān)系的定義。之所以稱其為 “抽象 ”模式,是為了與具體的底層數(shù)據(jù)存儲(chǔ)的物理模式區(qū)分開來。例如,在關(guān)系型數(shù)據(jù)庫(kù)中 ,物理模式由諸如表或列等結(jié)構(gòu)構(gòu)成。 對(duì)于容器管理持久性的 Entity Bean,需要在部署描述中定義抽象模式的名字。這些名字將可以通過使用 Enterprise JavaBeas? Query Language( EJB? QL)編寫的查詢語(yǔ)句進(jìn)行引用。例如,必須為每一個(gè) finder 方法定義一個(gè) EJB QL 查詢語(yǔ)句,通過此語(yǔ)句定義當(dāng)此 finder 方法被調(diào)用時(shí),容器執(zhí)行的查詢。 ? 持久域( persistent fields) 被定義的 Entity Bean 的持久域保存在底層的數(shù)據(jù)存儲(chǔ)中,所有這些域構(gòu)成整個(gè) Entity Bean 的狀態(tài)。在運(yùn)行時(shí),容器自動(dòng)對(duì)這些狀態(tài)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行同步。一般,容器在部署時(shí)將 Entity Bean 與特定的數(shù)據(jù)庫(kù)表進(jìn)行映射,將持久域與數(shù)據(jù)庫(kù)表中的列進(jìn)行映射。 ? 關(guān)系域( relationship fields) 關(guān)系域可視為數(shù)據(jù)庫(kù)表中的外鍵( foreign key),用于標(biāo)識(shí) Bean之間的關(guān)系。 . 容器管理關(guān)系( Containermanaged Relationship, CMR) 容器管理持久性的 Entity Bean 有以下四種容器管理關(guān)系: ? onetoone, 一個(gè) Bean 的單個(gè)實(shí)例關(guān)聯(lián)另一個(gè) Bean 的單個(gè)實(shí)例; ? onetomany,一個(gè) Bean 的單個(gè)實(shí)例關(guān)聯(lián)另一個(gè) Bean 的多個(gè)實(shí)例; ? manytoone,一個(gè) Bean 的多個(gè)實(shí)例關(guān)聯(lián)另一個(gè) Bean 的單個(gè)實(shí)例; ? manytomany,一個(gè) Bean的多個(gè)實(shí)例關(guān)聯(lián)另一個(gè) Bean的多個(gè)實(shí)例; . 容器管理關(guān)系的方向 容器管理關(guān)系的方向可以是雙向或單向。在一個(gè)雙向的關(guān)系中,涉及的 Bean都有一個(gè)關(guān)系域與另外的 Bean 關(guān)聯(lián),通過關(guān)系域,可以從一個(gè) Bean 的實(shí)例中訪問關(guān)聯(lián)的Bean 對(duì)象,反之 亦可。在一個(gè)單向的關(guān)系中,只有一個(gè) Bean 擁有關(guān)聯(lián)其他 Bean 的關(guān)系域,只能從這個(gè) Bean 的實(shí)例訪問被關(guān)聯(lián)的 Bean 對(duì)象,而不可從被關(guān)聯(lián)的 Bean對(duì)象訪問到這個(gè)實(shí)例。 EJB QL 查詢可以通過關(guān)系進(jìn)行定位。關(guān)系的方向決定了是否可以從一個(gè) Bean 定位另一個(gè) Bean。如訂單作為一個(gè) Bean,訂單中的項(xiàng)目作為一個(gè) Bean,二者擁有雙向關(guān)系,即訂單知道擁有哪些項(xiàng)目,而項(xiàng)目知道自己屬于某個(gè)訂單,因此,通過關(guān)系,可以從訂單定位訂單中的項(xiàng)目,也可以從訂單中的項(xiàng)目定位到訂單; . Entity Bean 的特征 . 持久性 由于 Entity Bean 的狀態(tài)數(shù)據(jù)保持在持久存儲(chǔ)中,因此,即使容器或服務(wù)器失效,Entity Bean 的狀態(tài)數(shù)據(jù)仍然存在。 . 持久業(yè)務(wù)數(shù)據(jù)的對(duì)象表示 Entity Bean 是持久業(yè)務(wù)數(shù)據(jù)的對(duì)象表示,更改 Entity Bean 的實(shí)例的狀態(tài),數(shù)據(jù)庫(kù)中的對(duì)應(yīng)信息也將自動(dòng)更新。實(shí)例狀態(tài)是數(shù)據(jù)庫(kù)數(shù)據(jù)的視圖,而不是兩個(gè)分離的數(shù)據(jù)。 . 表示相同的底層數(shù)據(jù)的多個(gè) Entity Bean 實(shí)例 在企業(yè)應(yīng)用中,通常出現(xiàn)多個(gè)客戶對(duì)某些業(yè)務(wù)實(shí)體的并發(fā)訪問,一般, EJB 容器通過維護(hù)同一個(gè) EJB 實(shí)例的多個(gè)拷貝,提供給不同的客戶,以此提高對(duì)客戶請(qǐng)求的響應(yīng)速度, EJB 容器提供保持實(shí)例狀態(tài)的一致性的機(jī)制。而這種特性對(duì)于客戶來說是透明的,因此,客戶可以認(rèn)為操作中的 EJB 實(shí)例是唯一的實(shí)例,可以不用考慮 EJB 實(shí)例狀態(tài)在多個(gè)并發(fā)客戶間的一致性。 . 可查找的 Entity Bean 因?yàn)?Entity Bean 實(shí)例擁有其獨(dú)有的標(biāo)識(shí),因此,除了可以創(chuàng)建 Entity Bean 實(shí)例外,如使用 SQL 中的 SELECT 語(yǔ)句,還可對(duì)在數(shù)據(jù)庫(kù)中已有的業(yè)務(wù)數(shù)據(jù)進(jìn)行查找。對(duì) Entity Bean 實(shí)例的查找一般通過在 Entity Bean 的 Home 接口中定義 finder 方法實(shí)現(xiàn)。 . Messagedriven Bean Messagedriven Bean 是 規(guī)范中提出的的 Enterprise Bean。金蝶Apusic 應(yīng)用服務(wù)器 提供了對(duì)規(guī)范中 Messagedriven Bean 相關(guān)內(nèi)容的完整實(shí)現(xiàn)。 MessageDriven Bean 作為 規(guī)范中新增的一個(gè) enterprise bean 類型,除得到應(yīng)用服務(wù)器管理的事務(wù),安全和資源訪問的服務(wù)之 外,同時(shí)作為 JMS消息系統(tǒng)中的消息使用者 ( Message Consumer)接收并處理應(yīng)用消息。 有關(guān) JMS消息系統(tǒng),請(qǐng)參閱 JMS開發(fā) 。 . Messagedriven Bean 的產(chǎn)生原因 ? 效率原因 在 Java EE?平臺(tái)中,客戶端對(duì) Session Bean 和 Entity Bean 的方法調(diào)用通過 RMI或 RMIIIOP 協(xié)議進(jìn)行,這是傳統(tǒng)的通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程調(diào)用的方法,當(dāng)調(diào)用請(qǐng)求通過網(wǎng)絡(luò)傳播到容器,容器則將客戶端請(qǐng)求變成一序列的方法調(diào)用依次進(jìn)行。客戶端只有在容器處理完請(qǐng)求并返回結(jié)果后方可繼續(xù)進(jìn)行。 ? 可靠性的原因 當(dāng)客戶端對(duì) Session Bean或 Entity Bean 進(jìn)行調(diào)用時(shí),必須保證服務(wù)器容器處于運(yùn)行狀態(tài),如容器或網(wǎng)絡(luò)出現(xiàn)錯(cuò)誤,客戶端調(diào)用將無法進(jìn)行。 ? 事件的廣播 傳統(tǒng)的 RMI 或 RMIIIOP 機(jī)制中,客戶端在某一時(shí)刻只能與某一具體的服務(wù)器通訊, 沒有任何內(nèi)置的機(jī)制來將事件廣播到多個(gè)服務(wù)器。 Messagedriven Bean 作為遠(yuǎn)程方法調(diào)用的一種替代方法,在客戶端和服務(wù)器的直接方法調(diào)用之間放置了一個(gè)中間層,接收一個(gè)或多個(gè)客戶端的消息,并將消息轉(zhuǎn)發(fā)給一個(gè)或多個(gè)消息的使用者 (Message Consumer)。 通過消息機(jī)制而非直接的方法調(diào)用,客戶端可以繼續(xù)執(zhí)行而不必等待服務(wù)器的運(yùn)行結(jié)果,服務(wù)器可以選擇在方法調(diào)用完成后通知客戶,而消息機(jī)制本身保證了信息傳輸?shù)目煽啃裕? 同時(shí)使用消息域 (Message Domain)中的消息類型模型以達(dá)到事件廣播的機(jī)制。 但是,對(duì) MessageDriven Bean 的使用也 有一定的限制,如不適用于依賴于方法調(diào)用、要求具有明確的返回值才能繼續(xù)的客戶端程序。另外,如果在一個(gè)應(yīng)用中過多的使用了 MessageDriven Bean, 對(duì)應(yīng)用的執(zhí)行效率將會(huì)產(chǎn)生影響,所以不適用于對(duì)時(shí)間因素敏感的客戶端程序 (如在下午兩點(diǎn)定購(gòu)下午四點(diǎn)的機(jī)票,而在四點(diǎn)后才得到訂購(gòu)是否成功的結(jié)果,這時(shí)結(jié)果已毫無用處 )。 . Messagedriven Bean 作為一般的 JMS 使用者 (consumer) 作為一種具有 JMS 使用者 (consumer)功能的 Enterprise Bean 組件模型 ,MessageDriven Bean 由 EJB 容器進(jìn)行管理,具有一般的 JMS使用者 (consumer)所不具有的優(yōu)點(diǎn),如對(duì)于一個(gè) Messagedriven Bean,容器可創(chuàng)建多個(gè)實(shí)例來處理大量的并發(fā)消息,而一般的 JMS 使用者 (consumer)開發(fā)時(shí)則必須對(duì)此進(jìn)行處理才能獲得類似的功能。同時(shí) MessageDriven Bean 可取得 EJB 所能獲得的標(biāo)準(zhǔn)服務(wù),如容器管理事務(wù)等服務(wù)。 由于與 Messagedriven Bean 相關(guān)的主題 (Topic)或隊(duì)列 (Queue)可以在部署時(shí)配置,因此, Messagedriven Bean 具有更多的靈活性。 但注意,一個(gè) Messagedriven Bean 在部署時(shí)只可與一個(gè)具體的主題 (Topic)或隊(duì)列 (Queue) 建立關(guān)聯(lián)。如有多個(gè)主題 (Topic)或隊(duì)列( Queue)需要與一個(gè)Messagedriven Bean 關(guān)聯(lián),則 可以在部署時(shí)部署多個(gè) Messagedriven Bean 類 ,或使用一般的 JMS使用者 (consumer) 。 . Messagedriven Bean 與其他 Enterprise Bean 作為 Enterprise Bean 組件模型之一, Messagedriven Bean,具有一些與Session Bean 和 Entity Bean 相同的方法,但由于 Messagedriven Bean 本身不處理客戶端調(diào)用,也無會(huì)話狀態(tài),客戶只能通過向與 Message Driven Bean 關(guān)聯(lián)的隊(duì) 列 或 主 題 發(fā)送 消 息 從而 與 Messagedriven Bean 進(jìn)行交互,因此,Messagedriven Bean 與 Session Bean 和 Entity Bean 之間最大的不同之處在于MessageDriven Bean 不具 有組件接口及 Home 接口。 另外, Messagedriven Bean 異步地處理隊(duì)列( Queue)或主題 (Topic)中的消息,而非方法調(diào)用。 . 使用接口定義客戶訪問 注意 本節(jié)僅適用于 Entity Bean 與 Session Bean,不適用于 Messagedriven Bean。因 Messagedriven Bean 組件模型不同于 Entity Bean 與 Session Bean,不具有定義客戶端視圖的組件接口。 對(duì)于 Session Bean 和 Entity Bean,客戶端只可通 過在組件接口中定義的方法對(duì) Bean 進(jìn)行訪問。組件接口定義了 Bean的客戶端視圖。有關(guān) Bean的方法實(shí)現(xiàn)、部署描述設(shè)置、抽象模式以及數(shù)據(jù)庫(kù)訪問等等,對(duì)于客戶而言是不可見的。 通過定義組件接口,可以更好地簡(jiǎn)化應(yīng)用的開發(fā)和維護(hù)工作。清晰的組件接口可以將客戶端與 EJB 層的復(fù)雜性進(jìn)行分離,而且在改變 Bean 內(nèi)部實(shí)現(xiàn)而不影響客戶端。 組件接口被劃分為本地( local)接口和遠(yuǎn)程( remote)接口,用于定義客戶端的訪問方式。 . 遠(yuǎn)程訪問 Enterprise Bean 的遠(yuǎn)程客戶端具有如下特征: ? 對(duì)于要訪 問的 Enterprise Bean,遠(yuǎn)程客戶可以運(yùn)行在不同的計(jì)算機(jī)或 Java 虛擬機(jī)中,也可以運(yùn)行在相同的計(jì)算機(jī)或 Java 虛擬機(jī)中; ? 可以是 Web組件、 Java EE應(yīng)用客戶端或者是另一個(gè) Enterprise Bean; ? 對(duì)于遠(yuǎn)程客戶,訪問 Enterprise Bean 與 Enterprise Bean 的位置無關(guān)。 在 規(guī)范中,如要編寫一個(gè)遠(yuǎn)程客戶端可訪問的 Enterprise Bean,必須為組件提供一個(gè)遠(yuǎn)程接口和一個(gè) Home 接口,并在遠(yuǎn)程接口中定義遠(yuǎn)程客戶端可訪問的業(yè)務(wù)方法。在 規(guī) 范中,可以使用 @Remote 注解定義遠(yuǎn)程接口。調(diào)用 規(guī)范中的遠(yuǎn)程業(yè)務(wù)接口與客戶端位置無關(guān),無論是與會(huì)話 Bean 運(yùn)行于不同 Java 虛擬機(jī)中的遠(yuǎn)程客戶端,或運(yùn)行于同一 JVM 中的本地客戶端,均可通過遠(yuǎn)程接口訪問會(huì)話Bean。容器為遠(yuǎn)程接口提供了位置透明性。 . 本地訪問 Enterprised Bean 的本地客戶端具有如下特征: ? 對(duì)于要訪問的 Enterprise Bean,本地客戶必須運(yùn)行在同一個(gè)Java 虛擬機(jī)中; ? 可以是 Web 組件或另一個(gè) Enterprise Bean。 ? 對(duì)本地客戶而言, 對(duì) Enterprise Bean 的訪問與 Enterprise Bean 所處的位置有關(guān); ? 通常是某個(gè)與其他 Entity Bean 具有容器管理關(guān)系的 Entity Bean。 在 規(guī)范中,如要編寫一個(gè)本地客戶端可訪問的 Enterprise Bean,必須為組件提供一個(gè)本地接口和一個(gè)本地 Home 接口,并在本地接口中定義本地客戶端可訪問的業(yè)務(wù)方法。在 規(guī)范中,可以使用 @Local 注解進(jìn)行標(biāo)識(shí)。調(diào)用本地接口的客戶端必須與會(huì)話 BeanJava 運(yùn)行于同一 Java 虛擬機(jī)中。 . 本地接口與 容器管理關(guān)系 如在容器管理關(guān)系中,某個(gè) Entity Bean 可以被其他 Entity Bean 所關(guān)聯(lián),則它必須提供可本地訪問的接口類型。 Entity Bean 之間關(guān)系的方向決
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1