詞語解釋
“SBB”在通信中是“Swiss Broadcasting Corporation”的縮寫,它是瑞士的一家公共廣播機(jī)構(gòu),也是瑞士最大的廣播機(jī)構(gòu)之一。 SBB的主要任務(wù)是提供全面的、客觀的、公正的、可靠的和有價值的信息服務(wù)。它的主要業(yè)務(wù)包括電視、廣播、網(wǎng)絡(luò)和移動電臺,以及各種新媒體服務(wù)。它的電視和廣播頻道涵蓋了瑞士的所有語言,包括德語、法語、意大利語和拉丁語。 SBB的電視和廣播服務(wù)涵蓋了瑞士各地的新聞、社會、政治、經(jīng)濟(jì)、文化、體育和其他節(jié)目,以及國際新聞。它還提供其他服務(wù),包括網(wǎng)絡(luò)和移動電臺,以及許多網(wǎng)絡(luò)和移動應(yīng)用程序,例如電視節(jié)目表、節(jié)目提醒、節(jié)目錄制和節(jié)目回放等。 此外,SBB還負(fù)責(zé)瑞士的國家廣播服務(wù),其中包括國際新聞、國際電臺、國際電視和國際網(wǎng)絡(luò)服務(wù)。它還負(fù)責(zé)瑞士的數(shù)字電視服務(wù),包括數(shù)字電視、數(shù)字電臺和數(shù)字網(wǎng)絡(luò)服務(wù)。 SBB的服務(wù)涵蓋了瑞士的所有語言,為瑞士的電視觀眾提供了全面的、客觀的、公正的、可靠的和有價值的信息服務(wù)。它的服務(wù)也受到國際社會的認(rèn)可,為全球的電視觀眾提供了有價值的信息服務(wù)。 SBB中的幾個概念: SBB Compents :他們組成了Application .他們以何種方式組合是由SLEE來確定的。 SBB Compents的七大部分: 1. SBB組件發(fā)出和接收的事件。 2. 單個實例化的狀態(tài):每個實例化域的狀態(tài)都被收錄到SLEE集中管理的CMP容器。 3. 事件處理方法: Sbb組件中包含每個它所接收到的事件類型的一個事件處理方法。 4. 本地接口:SBB中定義一個SBB本地接口,它定義有可能同步被調(diào)用的SBB組件(是在同一個SBB Tree上生成的SBB才可調(diào)用的接口,下面也將詳細(xì)介紹)的操作。 5. Child Relation:SBB成分可能包括零個或者多個子SBB組件,SBB組件規(guī)定他的自子組件的關(guān)系。 6 可共享性:SBB組件通過Activity Context的方式與其他SBB組件共享狀態(tài),SBB組件定義。 7. 一個JAVA接口(Activity Context Interface),這個接口定義為了得到和設(shè)置這些特性所進(jìn)行的安全訪問操作。 SBB實體:是SBB組件的一個實例,他是一個邏輯實體,是一個代表著實例持久性狀態(tài)的實體。 SBB對象:是一個實現(xiàn)javax.slee.sbb接口的java對象,和SBB實體所不同的是SBB的實體是邏輯的實體,而SBB對象則是一個JAVA的對象,在運(yùn)行的時候,SLEE分配0個或者多個SBB對象去表現(xiàn)一個SBB實體。 他們?nèi)叩年P(guān)系描述: SBB Compents 的一個實例就是一個SBB實體,SBB實體具有以上的七大功能,他就具備了處理一些事件的能力,當(dāng)SLEE把這些實體分配給SBB對象以后,SBB對象就具有以上的七大功能,且能夠來處理事件了。當(dāng)事件處理完,SLEE把SBB實體從SBB對象移除以后,SBB實體仍然存在,他還具有以上七大功能(等待SLEE再次把它分配給其他的SBB對象),而SBB對象則沒有了,如果再調(diào)用SBB對象的unSetSbbContext()方法,SBB對象將成為垃圾。由此可見:SBB對象和SBB實體是個多對一的關(guān)系,可以將一個SBB實體分配給多個SBB對象。 注意:如果在沒有給SBB對象分配SBB實體的就來使用這個SBB對象,就會拋出異常。 在SBB的生命 SBB的生命周期(見圖5): SBB的生命周期有三個狀態(tài):不存在,pooled 狀態(tài),Ready狀態(tài) 【 整個生命周期的過程 】SBB對象的生命周期開始于SLEE用newInstance()方法創(chuàng)建一個SBB對象,然后SLEE調(diào)用setSbbContext()方法給SBB對象設(shè)置一個sbbContext對象,這是該SBB對象就能調(diào)用SLEE提供的方法了,并進(jìn)入到了pooled 狀態(tài)。進(jìn)入pooled狀態(tài)的SBB對象都一個自己的pool 空間,但他們沒有和任何的SBB實體相關(guān)聯(lián),這時pool池中的所有SBB對象都一樣,SBB實體要想進(jìn)入Ready狀態(tài),需要給SBB對象分配一個SBB實體。 從pooled狀態(tài)到ready狀態(tài)有兩種實現(xiàn)方式: 第一種: 調(diào)用SbbCreate()方法或者SbbPostCreat()方法。(SLEE需要創(chuàng)建一個新的SBB Entity時調(diào)用SbbPostCreat()方法,當(dāng)SLEE需要為已經(jīng)存在的SbbEntity分配一個SBB 對象時調(diào)用SbbCreate()方法)。 第二種: 調(diào)用SbbActivity()方法。SLEE需要為已經(jīng)存在的SbbEntity分配一個SBB 對象 在Ready狀態(tài)下:SBB對象已經(jīng)和SBB實體建立了關(guān)聯(lián)關(guān)系,SBB通過調(diào)用sbbLoad()方法和sbbStore()方法若干次,實現(xiàn)SBB對象的瞬時狀態(tài)與SBB實體的持久狀態(tài)的同步。這時SBB對象就能夠進(jìn)行接收事件和進(jìn)行事件的處理。當(dāng)SBB對象處理完事件后還要回到pooled狀態(tài),這一過程有三種可能的途徑來實現(xiàn): 第一種:調(diào)用sbbPassivate()方法;厥辗峙浣oSBB Entity的Sbb對象。 第二種:調(diào)用sbbRemove()方法。移除SBB實體。 第三種:調(diào)用sbbCreate()方法或sbbPostCreate()方法成功,且沒有拋出異常,但是最終食物回滾了。 當(dāng)SBB返回到pooled狀態(tài)后,SLEE可以通過調(diào)用unSetSbbContext()方法,使SBB對象成為垃圾而被回收。 SBB實體樹和SBB圖: SBB圖和SBB樹都是用來表現(xiàn)SBB間的關(guān)系圖,區(qū)別在于SBB圖用來表示SBB對象間的關(guān)系圖,在圖1中,節(jié)點(diǎn)表示SBB對象,邊表示SBB對象間的關(guān)系,邊上的數(shù)表示事件傳遞優(yōu)先級。SBB樹是一個定向不循環(huán)圖,用來表示SBB實體間的關(guān)系圖,在圖2中,節(jié)點(diǎn)表示SBB實體,邊表示SBB實體間的關(guān)系,邊上的數(shù)表示事件傳遞優(yōu)先級。一般來說事件傳遞的優(yōu)先級是由父級SBB來指定,在運(yùn)行中,這種優(yōu)先級別可以改變。每個父SBB可以有多個子SBB,但一個子SBB只能有一個父SBB 下圖為一個SBB實體樹的實例圖: SBB的優(yōu)先級: SBB的優(yōu)先級決定著同根子SBB實體接收事件的順序。 SBB事件發(fā)送的優(yōu)先級范圍是(-128~127),最低是-128,最高是127. 指定同一個父SBB實體的子SBB實體的事件發(fā)送優(yōu)先級有兩種方法: 。. 產(chǎn)生該子SBB實體時產(chǎn)生的默認(rèn)事件優(yōu)先級。 。. 在運(yùn)行的過程中,父SBB實體可以通過調(diào)用setSbbPriority()方法給該實體的子實體修改事件發(fā)送優(yōu)先級 事件發(fā)送的優(yōu)先級可分為五個等級: 第一等級:最高級(100~~127) 第二等級:次高級(31~~99) 第三等級:標(biāo)準(zhǔn)級(-30~~30) 第四等級:次低級(-99~~-31) 第五等級:最低級(-128~~-100) 同一個父SBB實體的同胞SBB實體接收事件的順序按照優(yōu)先級的從高到低的順序一次排列。 移除SBB實體樹: Attachment count ----與一個SBB實體相關(guān)聯(lián)的所有Activity Context的個數(shù)(包括該SBB實體的子SBB實體相關(guān)聯(lián)的Activity Context 的個數(shù))。 Remove 一個SBB實體樹,就是通過將 Attachment count 的數(shù)量減到0 來實現(xiàn)的。 移除一個SBB實體樹,需以下三步: 第一步:結(jié)束Avtivity Object。 第二步:解除所有的SBB實體與所綁定的ActivityContext的綁定關(guān)系。解除的順序是先解除子SBB實體在解除根SBB實體。解除完全的標(biāo)志就是Attachment Count的數(shù)量減到0。 第三步:SLEE回收Activity Context ,并級聯(lián)移除各個根SBB實體。 舉例說明: 【 說明 】 以上圖中,橢圓表示實體,矩形表示Activity Context,橢圓和矩形之間的無向線段表示實體與Activity Context 之間有綁定關(guān)系,一對橢圓和矩形之間只有一條無向線段,箭頭表示的是一種Child Relation關(guān)系,箭頭所指的實體為子實體,背離箭頭的為父實體。圖中的橢圓里的數(shù)字就表示Attachments Count 【 解釋1 】Attachments Count X1的Attachment Count(6個)=與x1綁定的AC:AC1和AC2(2個)+與Y1綁定的AC的個數(shù)(0個)+ 與Z1綁定的AC:AC2和AC3(2個)+與Y2綁定的AC:AC3和AC1(2 個) Y2的Attatchment Count (2 個)=與y2 綁定的AC;Ac1個AC3(2個) 【注:】Y2,沒有子SBB實體,所以他的Attchment就是它自己所綁定的Activity Context的個數(shù)。 【 解釋2 】SLEE回收SBB實體樹的過程 首先,在Activity Object已經(jīng)終止的前提下,將Y2 與AC1和AC3 斷開綁定,使y2的Attchmentcount減到0,再斷開Z1與AC2和AC3的綁定斷開,使Z1的Attchmentcount減到0,最后將X1與AC2和AC1的綁定斷開,使X1的Attchmentcount減到0, 然后,SLEE回收Activity Context,并刪除SBB實體。 SBB Local Interface 和sbb Local Object 每一個SBB都有一個SBB Local interface ,zhege SBB Local interface 有兩種可能:一種是一個特殊的interface ,這個特殊的interface 是由SBB開發(fā)商提供的,并繼承了SBBLocalObject interface。 第二種是 如果SBB開發(fā)商沒有提供特殊的Local Interface ,那么它就是SbbLocalObject interface.,一個SBB對象通過SBB Local Object同步的調(diào)用,分配有SBB實體的SBB對象,這個Sbb Local Object是有由SLEE實現(xiàn)的一個對象,SBB Local Object實現(xiàn)了sbb Local interface 并描述了目標(biāo)SBB實體,當(dāng)SBB對象調(diào)用了SBB開發(fā)商在SBB Local object 定義的方法時,SBB抽象類中的相應(yīng)的法會調(diào)用,調(diào)用這個相應(yīng)方法的是描述這個SBB實體狀態(tài)的SBB對象,另一方面,sbb Local object是一個具有同步方法的客戶端對象。 理論上,一個SBB Local Object僅僅描述一個SBB實體,但是若干個SBB Local Object 也可能描述一個SBB實體。 一個SBB對象僅僅允許被一個SBB Local Object調(diào)用,這個SBB Local Object僅描述一個SBB實體樹中的實體,SBB Local Object描述不同的sbb 實體樹中的實體時,sbb對象調(diào)用sbb Local Object的行為并沒有定義。 SBB Local Interface 因為表現(xiàn)呼叫者的SBB對象和表現(xiàn)被呼叫者的SBB對象都必須被配置到同一個JVM中,所以這個接口被稱之為SBB Local Interface.在這個SBB Local Interface中生明了一些SBB對象的方法,這些SBB對象的方法可以被同步的調(diào)用。 獲得一個SBB Local Object 的方法: 一個SBB Local Object 是SLEE 的一個實現(xiàn)類,這個實現(xiàn)類實現(xiàn)類SBB Local Interface。一個SBB對象可以通過一下方法來獲得一個描述SBB實體的SBB Local object : 。. 調(diào)用childRelation 對象的creat()方法。 。. 調(diào)用sbbContext對象的getSbbLocalObject()方法。 。. 通過調(diào)用sbb Local Object 對象的一個方法來獲得一個Sbb Local Object ,被呼叫者可能通過它的一個輸入?yún)?shù)來獲得一個SBB Local Object ,呼叫者可能通過返回值來接收一個SBB Local object 。 4. 從 CMP field 中找回一個已存在的SBB Local object 。. 接收一個childRelation 對象,這個childRelation對象實現(xiàn)了java。Util。Collection接口,這個ChildRelation對象和它的iterator對象可以訪問sbb local object。 SBB Local object 具有一下功能: 1. 測試兩個SBB Local Object是否描述了同一個SBB實體 。. 移除SBB Local Object 描述的SBB實體及其他的SBB實體派生出來的SBB實體. 。. 設(shè)置和獲取 sbb Local Object 描述的SBB實體發(fā)出事件的優(yōu)先級. 。. 調(diào)用sbb 開發(fā)商定義的sbb Local Object 的方法. 。. 將sbb Local Object 存儲到CMP中. SBB Local Object interface 這個接口是所有SBB Local interface的父接口,所有的SBB Local Interface 都繼承了這個sbbLocalObject接口,如果一個對象沒有定義一個特殊的sbb Local interface,那么他的local Interface 就是SBBLocalObject sbbContext object SBB上下文對象是SLEE給SBB對象的一些數(shù)據(jù),SLEE將SBB上下文對象傳遞給SBB對象后,SBB對象便由不存在狀態(tài)進(jìn)入了緩沖池狀態(tài),這樣SBB便可以訪問SLEE和SBB實體提供的一些數(shù)據(jù)信息。SBB上下文對象實現(xiàn)了SBB上下文接口,該接口里定義了一些得到業(yè)務(wù)信息,行為上下文,不可訪問事件,事務(wù)的方法。 SbbContext interface SLEE為每一個SBB對象都提供了一個SbbContext對象,SLEE也維持SbbContext提供給sbb 對象訪問sbb 對象上下文的一個通道。也允許sbb對象調(diào)用SLEE提供的方法,并獲取分配給SBB 對象的SBB實體的信息,SBBContext對象實現(xiàn)類SBBContext接口, SLEE CMP和EJB CMP: CMP(Container Managed Persistence 持久性容器管理),SLEE中的CMP是以EJB的CMP為基礎(chǔ)定義的,但有其不同之處: 1。SLEE會自動創(chuàng)建和刪除SBB實體,而EJB則是通過程序代碼來執(zhí)行。SBB實體并沒有一個外在的主鍵。 2。EJB中的CMP被用于把數(shù)據(jù)存入數(shù)據(jù)庫或者后臺程序。SLEE的CMP用于識別哪些數(shù)據(jù)是應(yīng)該被容器管理的,可以提供多種存取數(shù)據(jù)的方式。 3。EJB中有CMR(容器管理關(guān)系),SLEE中沒有。 SBB組件環(huán)境: SBB組件環(huán)境是一種機(jī)制,他有如下特征: 1。訪問SLEE工具 2。使用SLEE的規(guī)范部署文件來部署個性化的SBB組件 SBB開發(fā)者的職責(zé): 進(jìn)入SBB組件環(huán)境,通過使用JNDI接口,創(chuàng)建一個InitialContext對象(不帶參數(shù)),然后用該對象調(diào)用lookup(java:comp/env)方法進(jìn)入SBB組件環(huán)境。 業(yè)務(wù)部署者的職責(zé): 確保SBB組件的外界入口都有效,可以對外界入口的值進(jìn)行修改
SBB中的幾個概念: SBB Compents :他們組成了Application .他們以何種方式組合是由SLEE來確定的。 SBB Compents的七大部分: 1. SBB組件發(fā)出和接收的事件。 2. 單個實例化的狀態(tài):每個實例化域的狀態(tài)都被收錄到SLEE集中管理的CMP容器。 3. 事件處理方法: Sbb組件中包含每個它所接收到的事件類型的一個事件處理方法。 4. 本地接口:SBB中定義一個SBB本地接口,它定義有可能同步被調(diào)用的SBB組件(是在同一個SBB Tree上生成的SBB才可調(diào)用的接口,下面也將詳細(xì)介紹)的操作。 5. Child Relation:SBB成分可能包括零個或者多個子SBB組件,SBB組件規(guī)定他的自子組件的關(guān)系。 6 可共享性:SBB組件通過Activity Context的方式與其他SBB組件共享狀態(tài),SBB組件定義。 7. 一個JAVA接口(Activity Context Interface),這個接口定義為了得到和設(shè)置這些特性所進(jìn)行的安全訪問操作。 SBB實體:是SBB組件的一個實例,他是一個邏輯實體,是一個代表著實例持久性狀態(tài)的實體。 SBB對象:是一個實現(xiàn)javax.slee.sbb接口的java對象,和SBB實體所不同的是SBB的實體是邏輯的實體,而SBB對象則是一個JAVA的對象,在運(yùn)行的時候,SLEE分配0個或者多個SBB對象去表現(xiàn)一個SBB實體。 他們?nèi)叩年P(guān)系描述: SBB Compents 的一個實例就是一個SBB實體,SBB實體具有以上的七大功能,他就具備了處理一些事件的能力,當(dāng)SLEE把這些實體分配給SBB對象以后,SBB對象就具有以上的七大功能,且能夠來處理事件了。當(dāng)事件處理完,SLEE把SBB實體從SBB對象移除以后,SBB實體仍然存在,他還具有以上七大功能(等待SLEE再次把它分配給其他的SBB對象),而SBB對象則沒有了,如果再調(diào)用SBB對象的unSetSbbContext()方法,SBB對象將成為垃圾。由此可見:SBB對象和SBB實體是個多對一的關(guān)系,可以將一個SBB實體分配給多個SBB對象。 注意:如果在沒有給SBB對象分配SBB實體的就來使用這個SBB對象,就會拋出異常。 在SBB的生命 SBB的生命周期(見圖5): SBB的生命周期有三個狀態(tài):不存在,pooled 狀態(tài),Ready狀態(tài) 【 整個生命周期的過程 】SBB對象的生命周期開始于SLEE用newInstance()方法創(chuàng)建一個SBB對象,然后SLEE調(diào)用setSbbContext()方法給SBB對象設(shè)置一個sbbContext對象,這是該SBB對象就能調(diào)用SLEE提供的方法了,并進(jìn)入到了pooled 狀態(tài)。進(jìn)入pooled狀態(tài)的SBB對象都一個自己的pool 空間,但他們沒有和任何的SBB實體相關(guān)聯(lián),這時pool池中的所有SBB對象都一樣,SBB實體要想進(jìn)入Ready狀態(tài),需要給SBB對象分配一個SBB實體。 從pooled狀態(tài)到ready狀態(tài)有兩種實現(xiàn)方式: 第一種: 調(diào)用SbbCreate()方法或者SbbPostCreat()方法。(SLEE需要創(chuàng)建一個新的SBB Entity時調(diào)用SbbPostCreat()方法,當(dāng)SLEE需要為已經(jīng)存在的SbbEntity分配一個SBB 對象時調(diào)用SbbCreate()方法)。 第二種: 調(diào)用SbbActivity()方法。SLEE需要為已經(jīng)存在的SbbEntity分配一個SBB 對象 在Ready狀態(tài)下:SBB對象已經(jīng)和SBB實體建立了關(guān)聯(lián)關(guān)系,SBB通過調(diào)用sbbLoad()方法和sbbStore()方法若干次,實現(xiàn)SBB對象的瞬時狀態(tài)與SBB實體的持久狀態(tài)的同步。這時SBB對象就能夠進(jìn)行接收事件和進(jìn)行事件的處理。當(dāng)SBB對象處理完事件后還要回到pooled狀態(tài),這一過程有三種可能的途徑來實現(xiàn): 第一種:調(diào)用sbbPassivate()方法;厥辗峙浣oSBB Entity的Sbb對象。 第二種:調(diào)用sbbRemove()方法。移除SBB實體。 第三種:調(diào)用sbbCreate()方法或sbbPostCreate()方法成功,且沒有拋出異常,但是最終食物回滾了。 當(dāng)SBB返回到pooled狀態(tài)后,SLEE可以通過調(diào)用unSetSbbContext()方法,使SBB對象成為垃圾而被回收。 SBB實體樹和SBB圖: SBB圖和SBB樹都是用來表現(xiàn)SBB間的關(guān)系圖,區(qū)別在于SBB圖用來表示SBB對象間的關(guān)系圖,在圖1中,節(jié)點(diǎn)表示SBB對象,邊表示SBB對象間的關(guān)系,邊上的數(shù)表示事件傳遞優(yōu)先級。SBB樹是一個定向不循環(huán)圖,用來表示SBB實體間的關(guān)系圖,在圖2中,節(jié)點(diǎn)表示SBB實體,邊表示SBB實體間的關(guān)系,邊上的數(shù)表示事件傳遞優(yōu)先級。一般來說事件傳遞的優(yōu)先級是由父級SBB來指定,在運(yùn)行中,這種優(yōu)先級別可以改變。每個父SBB可以有多個子SBB,但一個子SBB只能有一個父SBB 下圖為一個SBB實體樹的實例圖: SBB的優(yōu)先級: SBB的優(yōu)先級決定著同根子SBB實體接收事件的順序。 SBB事件發(fā)送的優(yōu)先級范圍是(-128~127),最低是-128,最高是127. 指定同一個父SBB實體的子SBB實體的事件發(fā)送優(yōu)先級有兩種方法: 。. 產(chǎn)生該子SBB實體時產(chǎn)生的默認(rèn)事件優(yōu)先級。 。. 在運(yùn)行的過程中,父SBB實體可以通過調(diào)用setSbbPriority()方法給該實體的子實體修改事件發(fā)送優(yōu)先級 事件發(fā)送的優(yōu)先級可分為五個等級: 第一等級:最高級(100~~127) 第二等級:次高級(31~~99) 第三等級:標(biāo)準(zhǔn)級(-30~~30) 第四等級:次低級(-99~~-31) 第五等級:最低級(-128~~-100) 同一個父SBB實體的同胞SBB實體接收事件的順序按照優(yōu)先級的從高到低的順序一次排列。 移除SBB實體樹: Attachment count ----與一個SBB實體相關(guān)聯(lián)的所有Activity Context的個數(shù)(包括該SBB實體的子SBB實體相關(guān)聯(lián)的Activity Context 的個數(shù))。 Remove 一個SBB實體樹,就是通過將 Attachment count 的數(shù)量減到0 來實現(xiàn)的。 移除一個SBB實體樹,需以下三步: 第一步:結(jié)束Avtivity Object。 第二步:解除所有的SBB實體與所綁定的ActivityContext的綁定關(guān)系。解除的順序是先解除子SBB實體在解除根SBB實體。解除完全的標(biāo)志就是Attachment Count的數(shù)量減到0。 第三步:SLEE回收Activity Context ,并級聯(lián)移除各個根SBB實體。 舉例說明: 【 說明 】 以上圖中,橢圓表示實體,矩形表示Activity Context,橢圓和矩形之間的無向線段表示實體與Activity Context 之間有綁定關(guān)系,一對橢圓和矩形之間只有一條無向線段,箭頭表示的是一種Child Relation關(guān)系,箭頭所指的實體為子實體,背離箭頭的為父實體。圖中的橢圓里的數(shù)字就表示Attachments Count 【 解釋1 】Attachments Count X1的Attachment Count(6個)=與x1綁定的AC:AC1和AC2(2個)+與Y1綁定的AC的個數(shù)(0個)+ 與Z1綁定的AC:AC2和AC3(2個)+與Y2綁定的AC:AC3和AC1(2 個) Y2的Attatchment Count (2 個)=與y2 綁定的AC;Ac1個AC3(2個) 【注:】Y2,沒有子SBB實體,所以他的Attchment就是它自己所綁定的Activity Context的個數(shù)。 【 解釋2 】SLEE回收SBB實體樹的過程 首先,在Activity Object已經(jīng)終止的前提下,將Y2 與AC1和AC3 斷開綁定,使y2的Attchmentcount減到0,再斷開Z1與AC2和AC3的綁定斷開,使Z1的Attchmentcount減到0,最后將X1與AC2和AC1的綁定斷開,使X1的Attchmentcount減到0, 然后,SLEE回收Activity Context,并刪除SBB實體。 SBB Local Interface 和sbb Local Object 每一個SBB都有一個SBB Local interface ,zhege SBB Local interface 有兩種可能:一種是一個特殊的interface ,這個特殊的interface 是由SBB開發(fā)商提供的,并繼承了SBBLocalObject interface。 第二種是 如果SBB開發(fā)商沒有提供特殊的Local Interface ,那么它就是SbbLocalObject interface.,一個SBB對象通過SBB Local Object同步的調(diào)用,分配有SBB實體的SBB對象,這個Sbb Local Object是有由SLEE實現(xiàn)的一個對象,SBB Local Object實現(xiàn)了sbb Local interface 并描述了目標(biāo)SBB實體,當(dāng)SBB對象調(diào)用了SBB開發(fā)商在SBB Local object 定義的方法時,SBB抽象類中的相應(yīng)的法會調(diào)用,調(diào)用這個相應(yīng)方法的是描述這個SBB實體狀態(tài)的SBB對象,另一方面,sbb Local object是一個具有同步方法的客戶端對象。 理論上,一個SBB Local Object僅僅描述一個SBB實體,但是若干個SBB Local Object 也可能描述一個SBB實體。 一個SBB對象僅僅允許被一個SBB Local Object調(diào)用,這個SBB Local Object僅描述一個SBB實體樹中的實體,SBB Local Object描述不同的sbb 實體樹中的實體時,sbb對象調(diào)用sbb Local Object的行為并沒有定義。 SBB Local Interface 因為表現(xiàn)呼叫者的SBB對象和表現(xiàn)被呼叫者的SBB對象都必須被配置到同一個JVM中,所以這個接口被稱之為SBB Local Interface.在這個SBB Local Interface中生明了一些SBB對象的方法,這些SBB對象的方法可以被同步的調(diào)用。 獲得一個SBB Local Object 的方法: 一個SBB Local Object 是SLEE 的一個實現(xiàn)類,這個實現(xiàn)類實現(xiàn)類SBB Local Interface。一個SBB對象可以通過一下方法來獲得一個描述SBB實體的SBB Local object : 。. 調(diào)用childRelation 對象的creat()方法。 。. 調(diào)用sbbContext對象的getSbbLocalObject()方法。 。. 通過調(diào)用sbb Local Object 對象的一個方法來獲得一個Sbb Local Object ,被呼叫者可能通過它的一個輸入?yún)?shù)來獲得一個SBB Local Object ,呼叫者可能通過返回值來接收一個SBB Local object 。 4. 從 CMP field 中找回一個已存在的SBB Local object 。. 接收一個childRelation 對象,這個childRelation對象實現(xiàn)了java。Util。Collection接口,這個ChildRelation對象和它的iterator對象可以訪問sbb local object。 SBB Local object 具有一下功能: 1. 測試兩個SBB Local Object是否描述了同一個SBB實體 。. 移除SBB Local Object 描述的SBB實體及其他的SBB實體派生出來的SBB實體. 。. 設(shè)置和獲取 sbb Local Object 描述的SBB實體發(fā)出事件的優(yōu)先級. 。. 調(diào)用sbb 開發(fā)商定義的sbb Local Object 的方法. 。. 將sbb Local Object 存儲到CMP中. SBB Local Object interface 這個接口是所有SBB Local interface的父接口,所有的SBB Local Interface 都繼承了這個sbbLocalObject接口,如果一個對象沒有定義一個特殊的sbb Local interface,那么他的local Interface 就是SBBLocalObject sbbContext object SBB上下文對象是SLEE給SBB對象的一些數(shù)據(jù),SLEE將SBB上下文對象傳遞給SBB對象后,SBB對象便由不存在狀態(tài)進(jìn)入了緩沖池狀態(tài),這樣SBB便可以訪問SLEE和SBB實體提供的一些數(shù)據(jù)信息。SBB上下文對象實現(xiàn)了SBB上下文接口,該接口里定義了一些得到業(yè)務(wù)信息,行為上下文,不可訪問事件,事務(wù)的方法。 SbbContext interface SLEE為每一個SBB對象都提供了一個SbbContext對象,SLEE也維持SbbContext提供給sbb 對象訪問sbb 對象上下文的一個通道。也允許sbb對象調(diào)用SLEE提供的方法,并獲取分配給SBB 對象的SBB實體的信息,SBBContext對象實現(xiàn)類SBBContext接口, SLEE CMP和EJB CMP: CMP(Container Managed Persistence 持久性容器管理),SLEE中的CMP是以EJB的CMP為基礎(chǔ)定義的,但有其不同之處: 1。SLEE會自動創(chuàng)建和刪除SBB實體,而EJB則是通過程序代碼來執(zhí)行。SBB實體并沒有一個外在的主鍵。 2。EJB中的CMP被用于把數(shù)據(jù)存入數(shù)據(jù)庫或者后臺程序。SLEE的CMP用于識別哪些數(shù)據(jù)是應(yīng)該被容器管理的,可以提供多種存取數(shù)據(jù)的方式。 3。EJB中有CMR(容器管理關(guān)系),SLEE中沒有。 SBB組件環(huán)境: SBB組件環(huán)境是一種機(jī)制,他有如下特征: 1。訪問SLEE工具 2。使用SLEE的規(guī)范部署文件來部署個性化的SBB組件 SBB開發(fā)者的職責(zé): 進(jìn)入SBB組件環(huán)境,通過使用JNDI接口,創(chuàng)建一個InitialContext對象(不帶參數(shù)),然后用該對象調(diào)用lookup(java:comp/env)方法進(jìn)入SBB組件環(huán)境。 業(yè)務(wù)部署者的職責(zé): 確保SBB組件的外界入口都有效,可以對外界入口的值進(jìn)行修改
抱歉,此頁面的內(nèi)容受版權(quán)保護(hù),復(fù)制需扣除次數(shù),次數(shù)不足時需付費(fèi)購買。
如需下載請點(diǎn)擊:點(diǎn)擊此處下載
掃碼付費(fèi)即可復(fù)制
光纖配線架 | WSUS | MRTG | 中波通訊 | 長波通信 | 分布式計算 | 人工智能 | 虛擬電路 | EVDO | DPLC | 中電通信 | 區(qū)域中心 |
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助