亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Enterprise JavaBeans導論5

2019-11-18 12:36:42
字體:
來源:轉載
供稿:網友

  實體bean的內外存交換
  現在應該來看看javax.ejb.EntityBean接口。
  
  public interface javax.ejb.EntityBean extends EnterPRiseBean {
  public void ejbActivate() throws RemoteException;
  public void ejbPassivate() throws RemoteException;
  public void ejbRemove() throws RemoteException,RemoveException;
  public void setEntityContext(EntityContext ctx) throws RemoteException;
  public void unsetEntityContext() throws RemoteException;
  public void ejbLoad() throws RemoteException;
  public void ejbStore() throws RemoteException;
  }
  
  活化和鈍化的過程與會話bean類似。然而,不在事務中的實體bean是無狀態的;其狀態總是和底層的數據同步的。假如我們象鈍化會話bean那樣鈍化實體bean,則當鈍化無狀態實體bean時只會刪除它。但是因為容器調用finder方法需要匿名的實體bean,容器可能為此把不活動的實體bean鈍化到一個私有內存池中。一旦從EJBObject中刪除實體bean,則同時刪除了標識符(主鍵關聯)。
  當客戶端調用沒有相關的實體bean的EJBObject的商業方法時,容器就可能用這個內存池重新分配實體bean. 注重這個內存池中的bean沒有標識,可以被任何EJBObject重用。容器可以可以不維護任何有EJBObject的實體bean,除非有一個商業方法在通過EJBObject被調用。假如實體bean在事務中則需保持其與EJBObject的關聯。
  
  自治理的持久性
  因為實體bean代表底層的數據,因此我們需要把數據從數據從數據庫中取出然后放在bean中。當容器第一次把一個實體bean的實例與EJBObject關聯時,它就開始了一個事務并調用了這個bean的ejbLoad()方法。在這個方法中開發者必須提供從數據庫中取出正確的數據并把它放在bean中。當容器將要提交一個事務它首先調用bean的ejbStrore()方法。這個方法負責向數據庫中回寫數據。我們稱之為自治理持久性,因為bean方法中的代碼提供了這種同步。
  當ejbLoad()方法完成時,bean有可能與底層數據庫不一致。商業方法的調用觸發了與EJBObject關聯的bean的分配,然后在事務中執行的ejbLoad()必須在部署描述符中聲明。根據接收到的方法調用請求,EJBObject和容器一起建立一個事務上下文。容器分配EJBObject的bean并調用bean的ejbLoad()方法。這個方法現在運行在事務上下文中。這個事務上下文傳遞給數據庫,根據部署描述符中指定的孤立性級別,這個事務鎖定數據庫中被訪問的數據。
  只要事務上下文活動,數據庫中的數據就一直保持鎖定狀態。當客戶端或容器提交事務時,容器首先調用bean的ejbStore()方法,把bean中的數據回寫到數據庫中。
  相應的數據庫記錄在ejbLoad()和ejbStore()間保持鎖定保證了bean和數據庫間的同步。其間可以進行不同的商業方法調用。而且,ejbLoad()和ejbStore()明確地區分了事務邊界,事務中可以進行任何商業方法調用。事務的持續時間由部署描述符決定,也可能由客戶端決定。注重不必使用ejbActivate()和ejbPassivate()方法來執行與數據庫間的同步。
  
  容器治理的持久性
  假如部署描述符聲明bean使用容器治理的持久性,則不用ejbLoad()和ejbStore()來訪問數據庫。容器會把數據從數據庫中導入到bean中,然后調用bean的ejbLoad()方法來完成從數據庫中接收數據。
  同樣地,容器調用bean的ejbStore()方法來完成把數據回寫到數據庫中。這些方法實際上沒有執行任何數據庫操作。當開發商用復雜的工具來提供容器治理持久性時,如自動產生能進行對象--關系映射的實體bean類,規范規定了廠商必須提供的容器治理實體持久性的最小需求集。
  部署描述符可以指定bean的一個public域來實現與數據庫列簡單映射。容器使用部署描述符讀出bean的這個public域并寫到相應的列,或從數據庫列中讀出數據寫到public域中。容器治理的持久性對EJB開發者來說是非常好的服務,且不需對象--關系影射等其他復雜的機制,開發者會發現它比自治理的持久性更有效率。
  
  部署描述符
  區分EJB開發的角色
  EJB開發中兩個主要的角色是bean開發者和bean部署者。有很多屬性開發者不能預知,如數據庫的網絡地址,使用的數據庫驅動程序等等。部署描述符作為由開發定義的特性表,由部署者添入正確的值。部署描述符有標準的格式,在開發和部署環境中是可移植的,甚至在不同EJB平臺間也是可移植的。 Enterprise bean的行為控制
  除了為開發和部署的協同提供一個標準的屬性單,部署描述符也應包含bean應如何執行有關事務和安全的細節信息。一些如訪問控制鏈(ACL)等屬性,也應該由部署者來調整以保證適當的用戶能在運行時使用bean.其它屬性,如事務信息,有可能完全由開發者指定,因為一般由開發者創建數據庫訪問代碼,并熟知bean的方法應如何運行事務。定義部署描述符
  部署描述符是一個標準的Java類。創建一個實例,導入數據,然后串行化。這個串行化的部署描述符放在一個jar文件中并和enterprise bean類一起送到部署環境。部署者讀取這個串行化的部署描述符,可能修改一些屬性值,然后使用這個修改后的部署描述符來安裝enterprise bean.
  下面是部署描述符的一部分內容。它是兩個其它的部署描述符類的超類。實際上超類是描述這個bean的描述符。
  
  Javax.ejb.deployment.DeploymentDescriptor
  ·bean home name
  ·bean class name
  ·home interface class name
  ·remote interface class name
  ·environment properties
  ·control descriptors
  ·access control list
  
  DeploymentDescriptor有兩個子類:
  
  javax.ejb.deployment.sessionDescriptor
  ·state management type
  ·session timeout
  
  javax.ejb.deployment.EntityDescriptor
  ·list of ocntainer-managed fields
  ·primary key class name
  
  描述符為實體bean和每個方法定義了事務和安全屬性。這些對象的一個數組在DeploymentDescriptor中指定。
  
  javax.ejb.deployment.ControlDescriptor
  ·transaction isolation level
  ·Method object to which this descriptor applies
  ·run-as mode(for odentity mapping)
  ·run-as identity(for identity mapping)
  ·transaction attribute
  
  部署一個enterprise bean時,分配對應的描述符,然后初始化,串行化,再將其與enterprise bean類一起放入到一個jar文件中。不同廠商在定義部署描述符時可能有不同的方式。例如,一個廠商可能使用文本方式,而另一廠商可能提供圖形工具。但最后結果的部署描述符是一個標準的格式,并且在不同平臺間是可移植的。
  
  EJB Jar文件
  為了包裝一個enterprise bean,bean的類,接口和串行化的部署描述符放在一個jar文件中。這個jar文件必須有一個manifest文件的入口以聲明一個enterprise bean的部署描述符。
  Name:AccountDD.ser
  Enterprise-Bean:true
  在manifest中作為enterprise bean列出的是部署描述符,而不是bean類。部署描述符除了定義enterprise bean,還提供jar文件中所有文件的完整描述。開發者不必關心EJB jar文件的創建。廠商應該提供一個工具來幫助開發者創建部署描述符,然后把所有必須的文件打包進一個jar文件中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
夜夜躁日日躁狠狠久久88av| 欧美亚洲成人免费| 国产男女猛烈无遮挡91| 国产精品扒开腿做| 国产精品69精品一区二区三区| 久久韩剧网电视剧| 午夜精品久久17c| 在线国产精品视频| 成人亲热视频网站| 精品欧美国产一区二区三区| 亚洲综合中文字幕在线观看| 国产亚洲成精品久久| 日韩在线中文字| 欧美日韩一区二区在线播放| 色yeye香蕉凹凸一区二区av| 亚洲一区www| 成人av资源在线播放| 久久视频这里只有精品| 国产精品美女视频网站| 在线观看日韩www视频免费| 欧美亚洲另类激情另类| 中文字幕日韩欧美在线视频| 国产成人小视频在线观看| 国产成人jvid在线播放| 久久影视三级福利片| 欧美人与物videos| 久久免费国产精品1| 久久天堂av综合合色| 国产女人18毛片水18精品| 精品一区二区电影| 国产精品视频一区二区高潮| 欧美裸体xxxx极品少妇| 国产专区欧美专区| 国产亚洲精品综合一区91| 亚洲美女又黄又爽在线观看| 97超级碰在线看视频免费在线看| 亚洲第一色中文字幕| 日本a级片电影一区二区| 成人有码视频在线播放| 日韩在线视频播放| 国产精品视频免费在线| 久久久久亚洲精品成人网小说| 最新国产精品亚洲| 国产亚洲视频在线| 国产福利精品av综合导导航| 成人欧美在线观看| 成人激情视频在线| 91精品国产91久久久久久久久| 日产精品久久久一区二区福利| 国产91精品黑色丝袜高跟鞋| 久久成人这里只有精品| 欧美激情一级二级| 日韩精品在线影院| 日韩av理论片| 色噜噜狠狠色综合网图区| 成人免费观看网址| 日韩在线观看免费全| 亚洲精品第一页| 7m精品福利视频导航| 欧美精品电影免费在线观看| 69影院欧美专区视频| 欧美乱大交xxxxx| 国产亚洲欧美日韩精品| 欧美日韩国产一区二区| 九九热精品在线| 成人性生交大片免费看视频直播| 91理论片午午论夜理片久久| 亚洲欧美精品在线| 亚洲大胆人体在线| 国产一区二区三区视频| 欧美最猛性xxxxx(亚洲精品)| 一本一本久久a久久精品牛牛影视| 国产精品免费电影| 亚洲成人av在线播放| 亚洲欧美日韩精品久久亚洲区| 欧美精品在线免费| 97视频在线观看免费| 国产自摸综合网| 亚洲午夜久久久久久久| 久久久久久久久爱| 日韩亚洲第一页| 亚洲综合最新在线| 亚洲精品白浆高清久久久久久| 亚洲视屏在线播放| 国产精品嫩草影院一区二区| 91久久精品国产91久久| 国产91网红主播在线观看| 欧美一级在线亚洲天堂| 久久精品91久久香蕉加勒比| 欧美成人激情视频| 国内揄拍国内精品少妇国语| 欧美激情a∨在线视频播放| 日韩欧美主播在线| 精品久久久国产精品999| 欧美日韩亚洲成人| 亚洲国语精品自产拍在线观看| 久久男人av资源网站| 中文字幕欧美日韩在线| 中文字幕亚洲无线码a| 欧美理论电影在线播放| 亚洲国产精品久久久久久| 亚洲天堂av高清| 日本免费久久高清视频| 色偷偷综合社区| 国产亚洲精品成人av久久ww| 久久久久久久国产| 欧美日韩一区二区三区在线免费观看| 中文字幕亚洲无线码在线一区| 亚洲精品国产综合久久| 中文字幕日韩欧美在线| 精品视频www| 97精品一区二区三区| 亚洲国模精品私拍| 色偷偷88888欧美精品久久久| 久久精品男人天堂| 日韩电影第一页| 欧洲日本亚洲国产区| 日韩欧美亚洲国产一区| 国产精品一区=区| 精品色蜜蜜精品视频在线观看| 成人中文字幕+乱码+中文字幕| 国产精品免费一区豆花| 日日骚av一区| 国产丝袜精品第一页| 久久影院中文字幕| 国产精品久久久久久久av大片| 欧美老妇交乱视频| 日韩精品久久久久久久玫瑰园| 久久精品夜夜夜夜夜久久| 精品av在线播放| 国模视频一区二区三区| 亚洲天堂男人的天堂| 国产日本欧美一区二区三区在线| 国产精品久久久久久久久影视| 欧美黑人巨大精品一区二区| 亚洲自拍另类欧美丝袜| 亚洲毛片在线免费观看| 中文国产亚洲喷潮| 高清欧美性猛交xxxx| 午夜精品久久久久久久久久久久久| 国产精品视频精品| 亚洲欧美中文另类| 成人性生交大片免费看小说| 亚洲亚裔videos黑人hd| 9.1国产丝袜在线观看| 国产精品福利在线观看网址| www.亚洲免费视频| xxxxx成人.com| 深夜福利国产精品| 精品久久久久久电影| 欧美性极品少妇精品网站| 国产精品人人做人人爽| 亚洲成色999久久网站| 隔壁老王国产在线精品| 激情成人在线视频| 国产一区二区三区欧美| 亚洲人成在线观看| 亚洲欧美日韩爽爽影院| 国产精品久久久久久久久影视| 亚洲午夜国产成人av电影男同| 色yeye香蕉凹凸一区二区av| 日韩国产精品一区| 久久久久久网站| 久久久久久国产精品美女|