江苏11选5走势图:EJB3.0的三大類型詳解

來源:互聯網
更新時間:2018/2/9 5:10:40
責任編輯:王嘉善
字體:

福建体彩走势图 www.uyduz.icu

  無論你創建bean會話是為了執行特定任務,還是把表映射到實體bean以更新數據,都可以使用普通的java對象和接口來完成這些工作,并且可以通過在業務方法中使用注釋,把方法提供給客戶端。

enterprise javabean (ejb) 是可重用的、可移植的 j2ee 組件。ejb 由封裝業務邏輯的方法組成。譬如說,ejb 可能有這樣的業務邏輯:包含了更新數據庫中客戶數據的方法。眾多遠程和本地客戶端可以調用該方法。另外,ejb 在容器里面運行,這樣開發人員只要關注bean里面的業務邏輯,不必擔心復雜、容易出錯的問題,譬如事務支持、安全性和遠程對象訪問等。ejb 作為普通java對象(pojo)的形式來開發,開發人員可以使用元數據注釋(metadata annotations)來指定容器如何管理這些bean。

ejb 包括三種主要類型:會話 bean、實體 bean和消息驅動的bean?;嶧癰ean執行獨立的、解除耦合的任務,譬如檢查客戶的信用記錄。實體bean是一個復雜的業務實體,它代表數據庫中存在的業務對象。消息驅動的bean用于接收異步jms 消息。下面,讓我們進一步研究ejb 3.0規范中的這些類型。

一、會話bean

會話bean通常代表業務流程里面的操作,譬如“處理訂單”??篩荻曰白刺謀3中?,即有狀態和無狀態對會話bean進行分類。

無狀態的會話 bean沒有內部狀態。它們不跟蹤記錄從一個方法調用傳遞到另一個方法調用的信息。因此,每次調用無狀態的業務方法都獨立于前一次調用,譬如計算稅款或者運費。用某個應稅值調用計算稅款的方法時,對稅款值進行計算并返回給調用方法,而不必保存調用者的內部狀態供以后調用。因為這些bean并不保持狀態,所以容器對它們進行管理就很簡單??突Ф飼肭笪拮刺腷ean實例時,可以從容器保持的無狀態的會話bean 實例池當中接收一個實例。另外,因為無狀態的會話 bean可以共享,所以容器可保持數量較少的實例為許多客戶端提供服務。想指定java bean作為無狀態的會話bean加以部署及管理,只需要為該bean添加注釋@stateless。

有狀態的會話 bean在方法調用時可保持對話狀態,譬如客戶的網上購物車??突Э紀瞎何鍤?,可以從數據庫中檢索客戶的詳細信息??突何锍道錈嫣砑由唐坊蛘嘰永錈嬪境唐?、下訂單等時調用的其他方法也可以使用這些詳細信息。不過,有狀態的會話bean是暫時性的,因為出現會話終止、系統崩?;蛘咄綣收蝦?,狀態不復存在??突Ф飼肭笥兇刺幕嶧癰ean實例時,就為該客戶端分配一個有狀態的實例,并為該客戶端保持該組件的狀態。要指定容器在某個方法完成后刪除有狀態的會話bean實例,只要為該方法添加注釋@remove。

會話 bean示例如下:

import javax.ejb.stateless.*;

/*a simple stateless session bean implementing the incrementvalue() method of the * calculateejb interface.*/

@stateless(name='calculateejb')

public class calculateejbbean

implements calculateejb

{

int value = 0;

public string incrementvalue()

{

value++;

return 'value incremented by 1';

}

}

二、實體bean

實體bean是管理持久性數據的一個對象,有可能使用幾個相關的java對象,并可以通過主鍵實現惟一性。通過添加@entity注釋,可以把某類指定為實體bean。實體bean代表數據庫中的持久性數據,如客戶表中的一行或者員工表中的一條員工記錄。實體bean還可以在多個客戶端之間共享。譬如說,某個員工實體bean可以由多個客戶端用于計算某員工的年薪或者更新員工地址。實體bean對象的特定字段可以成為持久性字段。實體bean中沒有被@transient注釋標記的所有字段都被視為持久性字段。ejb 3.0的一個主要特性就是,能夠使用元數據注釋來創建包含對象/關系映射的實體bean。譬如說,想指定把實體bean的empid字段映射到 employees表中的empno屬性,就要使用@table(name='employees') 來注釋表名,使用 @column(name='empno') 來注釋字段,如下面的例子所示。另外,ejb 3.0 的一個特性是,在開發期間可以方便地測試實體bean,因為現在使用 oracle 應用服務器實體測試工具,就可以在容器外面運行實體bean。

實體 bean示例如下:

import javax.persistence.*;

import java.util.arraylist;

import java.util.collection;

@entity

@table(name = 'employees')

public class employee implements java.io.serializable

{

 private int empid;

 private string ename;

 private double sal;

 @id

 @column(name='empno', primarykey=true) 資訊轉帖于 Xue163.com_JAVA認證考試題庫

根據您訪問的內容,您可能還對以下內容感興趣,希望對您有幫助:

EJB3.0的2個小疑問 盼解答。

所local接口調用效率要高于remote象調用針點EJB設計提建議: 1、ejb客戶能存于與ejb相同app server或者說同JVM環境local類型接口(包括EJBHome 與EJBObject)需要與EJ...

EJB3.0之實體Bean的繼承

在EJB3.0中,實體Bean可以實現繼承關系。 比如有個Person的實體bean,它有姓名和性... Person.java package com.kuaff.ejb3.singleinheritance; import javax.ejb.Discrimina...

JavaBean(EJB) 3.0 全新體驗

EJB2.1模型。 EJB注釋 EJB規范組織一個重要的目標是減輕原始代碼的數量,并且他們為此給出了一個完美而簡介的辦法。在EJB3.0的里,任何類型的企業級Bean只是一個...

EJB 3.0開發指南之多表映射

; UniqueConstraint[] uniqueConstraints() default {}; } 這個注釋可以指定表名、分類、... package com.kuaff.ejb3.secondary; import javax.ejb.Dependent; import javax.ejb.D...

如何使用 EJB 3.0 調用規則集麻煩告訴我

運行的 WAS 應用服務器上,安裝過程與 EJB 本地調用的安裝類似?;匾呈資褂肊JB 3 遠... ;然后需要為工廠對象指明執行模式為遠程調用,及要使用的業務接口類型為有狀態的規...

eblogic沒有識別persistence.xml 文件才導致無法部署EJB3.0?

AuditValueIteratorSession from ejb-2.0.jar: No persistence unit named '對于這個問題,據說官方還沒有統一的說法。所以,LZ只需要了解這個問題就是了

現在EJB用的多么

要看公司做什么類型的項目了,如果對安全性要求高可能還是用老技術,典型的大型銀行項目:struts1+EJB。很多人會問為什么他們不用新技術,其實這就和用Linux和XP系統一樣,...

Ejb技術的重點

EJB2.1模型。 EJB注釋 EJB規范組織一個重要的目標是減輕原始代碼的數量,并且他們為此給出了一個完美而簡潔的辦法。在EJB3.0的里,任何類型的企業級 Bean只是一個加...

請大師介紹一下EJB及其學習方法,可以列舉一下參考的書.

》,我并沒有看過這兩本書。其實我覺得電子工業出版社的《Java 2編程詳解》或者《J... 3.0上面部署書中例子的實做。真是既有理論,又有實踐。在學習EJB的同時,可以邊看邊...


www.xue163.net true //www.xue163.net/kao/58/589155.html report 17866 EJB3.0的三大類型詳解,無論你創建bean會話是為了執行特定任務,還是把表映射到實體bean以更新數據,都可以使用普通的java對象和接口來完成這些工作,并且可以通過在業務方法中使用注釋,把方法提供給客戶端。enterprisejavabean(ejb)是可重用的、可移植的...
網友評論
最新添加資訊
    24小時熱門資訊
    娛樂時尚
      科技資訊
      歷史文化
        真視界
        旅游美食
        精彩圖文
        我愛我車
        母嬰健康
        關于本站 | 廣告服務 | 手機版 | 商務合作 | 免責申明 | 招聘信息 | 聯系我們
        Copyright © 2004-2018 xue163.net All Rights Reserved. 學網 版權所有
        京ICP備10044368號-1 京公網安備11010802011102號
        教育考試: 學歷財經建筑 醫藥公考資格外語電腦作文招聘中小學留學 文檔 移民 文庫專欄23問答中心問答圖書館知識IT編程數碼信息解決方案信息中心IT科技topzttophottopsctopnew問答新聞中心軟件教室設計大全網絡相關英語學習開發編程考試中心參考范文管理文庫營銷中心站長之家IT信息中心商學院數碼大全硬件DIY企業服務網吧在線百科硬件知識手機平板汽車游戲家電精彩攝影現代家居IT女人經驗健康養生獵奇創業攻略教育學習歷史時尚潮流福建体彩走势图漲知識