日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EJB分布式对象实现方式描述

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EJB分布式对象实现方式描述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Java RMI中要求所有的參數傳遞和返回類型是JAVA的基本類型或實現Serilizable的對象
串行化對象通過值傳遞(又名拷貝傳遞),而不是引用傳遞。
這意味著在某一層中串行化對象的更新并不自動影響到其它的對象。

對于EJB對象而言,它由兩個接口(home接口和remote接口)和一個類組成。
容器會根據ejb規范來生成上面兩個接口的類(我們分別稱為xxxEJBHome對象和xxxEjbObject對象)。
在較多的容器實現方案中,xxxEJBHome對象使用了factory模式來創建xxxEjbObject對象;
xxxEjbObject對象則采用proxy模式作為xxxBean的代理類。
在生成以上兩個對象的同時,容器會從部署文件中讀取關于安全、事務、持久性等服務并在xxxEjbObject對象和xxxEJBHome對象中添加以上服務的代碼。
而且xxxEJBHome對象和xxxEjbObject對象都是分布式對象
在此我們只討論xxxEjbObject對象。
所謂分布式對象,從本質上講,分為三個部分:object server,skeleton,stub。
其中object server和skeleton位于服務器端,而stub位于客戶端。
Object server負責實現業務邏輯,skeleton負責marshal和unmarshal方法簽名。

顯然,EJB的客戶(調用EJB的對象)可以是任何對象,包括EJB和一般的Java類甚至是用任何語言寫的corba客戶端。

從EJB的客戶視角來看的話,我們只能看到一個home接口、一個remote接口(對于實體bean的話,還可以看見一個主鍵類,而bean類對客戶是不可見的)。
但。。。對于remote接口中的方法調用實際上是多態的調用XXX_Stub類,即XXX_Stub對象對客戶具有可見性(但這種可見性是透明的,即客戶不知道這種可見性的存在)。
由于XXX_Stub對象和Object Server實現了相同的接口,并且Object server真正實現了業務邏輯。
所以,當在客戶端調用XXX_Stub對象的方法時候,XXX_Stub對象通過socket通信機制將方法簽名傳給XXX_Skeleton對象,XXX_Skeleton對象再去委托Object server完成業務處理邏輯。
因此,Object server本身發生了改變。
我們稱XXX_Stub對象是Object Server對象的遠程引用,并認為當分布式對象作為參數傳遞的時候,是通過引用傳遞的(會產生副作用,即改變參數對象),只不過這種引用是遠程引用。

來源:
http://wenku.baidu.com/view/942bb1ec0975f46527d3e1ba.html?

轉載于:https://www.cnblogs.com/zjstar12/archive/2012/02/14/2350484.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的EJB分布式对象实现方式描述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。