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

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

J2EE1.4新特性之EJB2.1的新特性

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

  EJB 2.1中的新特性主要集中于有關SOAP和WSDL的Web服務,包括兩種新推出的Web服務應用程序接口(JAX-RPC和JAXM)。它們可以用來與其他Web服務模塊通信,并適當地在Web模塊中運用無狀態的bean和消息驅動bean。也就是說,基于新的標準,EJB將逐漸成為Web服務的開發平臺。
  
  在支持Web服務的同時,EJB 2.1也改進了EJB-QL以及消息驅動bean(MDB)的編程模型。該編程模型目前已經擴展至java消息服務之上以支持任何一種消息系統。另外,新標準也推出了一種新的計時器服務,使得開發人員可以設計計時事件,并提供消息聯接的接口,供開發人員在組件之間控制消息的流動之用。
  
  這里我們并不討論每個特性的太多細節,只是想做一簡單的介紹,起到拋磚引玉的作用。假如讀者有愛好,可以參閱EJB 2.1的相關規格說明。下面我們就Web服務、MDB編程模型和EJBQL三個方面分別加以說明如下:
  
  (一) 對于Web服務的支持
  
  EJB 2.1新標準推出的最大原動力就是對于Web服務的支持。EJB 2.1答應編程人員利用無狀態的會話bean和消息驅動bean來開發基于SOAP的Web服務,并使得基于SOAP 1.1的用戶可以使用相關的服務。
  
  應該說明的是,基于其他Web服務平臺的SOAP客戶通常無法激活無狀態的會話 bean的方法,例如MS.NET,PERL,Apache Axis。而在EJB 2.1中的Web服務接口則提供了一個前所未有的跨平臺兼容性。
  
  EJB 2.1中Web服務接口是基于兩個新推出的J2EE SOAP技術的,即JAX-RPC和JAXM。
  
  1、JAX-RPC和EJB
  
  JAX-RPC,即Java API for xml-RPC,是基于SOAP的Java RMI技術的。它與以前的 Java RMI技術和Java-RMI IIOP技術類似,不同之處是使用了SOAP作為底層協議。
  
  實現JAX-RPC的系統必須支持HTTP之上的RPC編碼機制,另外也應該支持其他的編碼機制、消息格式和互聯網協議。各種EJB,包括會話bean、實體bean和消息驅動bean都可以使用JAX-RPC技術來激活Web服務的操作。比如說,一個無狀態的會話bean就可以利用JAX-RPC來調用.NET Web服務的方法(見下圖1)。 
  
  

   J2EE1.4新特性之EJB2.1的新特性(圖一)
  圖1 JAX-RPC 和 EJB
  

  
  JAX-RPC同樣也是一種新的組件接口的開發基礎,這種接口稱為終點(endpoint)接口,它答應一個無狀態的會話bean作用為一個Web服務組件。終點接口實現了javax.rmi.Remote接口并遵循JAX-RPC的協議標準。其中,將一個無狀態的會話bean作為Web組件來部署的過程并不是很復雜,開發人員只需要定義bean的類文件及遠程接口,并將其部署至相關的應用程序中。一旦Web服務的組件部署成功后,其方法可以被任何一個遵循SOAP協議的組件調用,而無論組件是基于何種開發語言或開發平臺的,如.NET,PERL,Apache Axis,C,C++及其他(見下圖2)。
  
  

   J2EE1.4新特性之EJB2.1的新特性(圖二)
  圖2 通過SOAP和其他Web服務器通信
  

  
  2、JAXM和EJB
  
  JAXM(Java API for XML Messaging)是一種類似于JMS(Java Message Service,Java消息服務)的消息通信的應用程序接口。JMS是一種用于在面向消息的中間件之上發送和接收消息的應用程序接口,而JAXM則是在Web服務中傳遞消息的應用程序接口。因為它主要以傳輸基于XML文件的SOAP消息為主,所以可以說JAXM是面向文檔的。JAXM用戶利用SAAJ(SOAP with Attachments API forJava)集成,接收和治理SOAP消息,其中SAAJ主要是用來治理SOAP消息中的XML結構。
  
  JAXM技術與上面所說的JAX-RPC存在很大的不同,后者主要使用方法調用的機制,并在Java RMI代理(PRoxy)之間隱藏SOAP消息?;贘AX-RPC技術,開發人員只會看見遠程接口,即方法、參數和返回值。而在JAXM的作用下,開發人員將直接處理SOAP協議并開發自己專用的SOAP消息。類似于JAX-RPC,JAXM可以用來與任何遵循SOAP開發的Web服務組件交換SOAP消息。比如說,一個enterprise bean可以利用JAXM來與用PERL開發的Web服務交換SOAP消息。
  
  現在一些EJB 2.1開發人員推薦使用JAXM作為開發新的消息驅動bean的基礎,即基于JAXM的消息驅動bean(JAXM-based message-driven bean,JAXM-MDB)。JAXM-MDB可以傳輸SOAP消息并作用為Web服務的組件?;贘AXM-MDB,開發人員可以實現單工的消息傳輸接口,或雙工,即可接收可發送的消息傳輸接口(見下圖3)。就目前來說,因為消息驅動bean組件可以廣泛用到任意類型的消息系統,這種想法應該是可行的。
  
  JAX-RPC和JAXM可以答應enterprise bean來訪問其他平臺的Web服務,并利用無狀態的會話bean和消息驅動bean來開發相應的Web服務模塊。這些應用程序接口是相對靈活的,適合于將EJB模塊擴展為Web服務框架。
  
  

   J2EE1.4新特性之EJB2.1的新特性(圖三)
  圖3 JAXM-MDB
  

  
  (二)擴展消息驅動bean
  
  EJB 2.0引進了消息驅動bean,可以處理遵循JMS多方的異步消息?;谙Ⅱ寗觔ean,J2EE平臺可以利用異步消息機制,并改變了服務器編程的體系結構。
  
  EJB 2.1將基于JMS的消息驅動bean編程模型擴展為其他消息系統?;贓JB2.1開發的應用系統仍必須支持基于JMS的消息驅動bean(JMS-MDB),當然也支持其他類型的消息系統。比如說,一個Web服務模塊可以支持基于JAXM的消息驅動bean,該模塊也可以支持SMTP信件協議、SNMP的設備控制、peer對peer的協議。另外,消息驅動bean也可以作為連接相關OLTP系統如CICS,IMS,openUTM的橋梁。
  
  另外還要說明一點,由于新推出的消息驅動bean組件是基于J2EE連接器體系結構的(Java Connector Architecture,JCA1.5),所以該組件具有在消息系統之間良好的移植性。JCA 1.5通常是用于定義商業信息系統中的可移植程序模型。比如說,開發人員可以利用JCA 1.5定義一個基于SMTP的消息驅動bean,而該bean是可以在所有遵循EJB 2.1標準的服務器上移植的(如下圖4)。
  
  

  J2EE1.4新特性之EJB2.1的新特性(圖四)
  圖4 JCA 1.5
  

  
  1、目標鏈接(destination linking)
  
  EJB 2.1另外一個新特性就是目標鏈接。簡單地說,EJB容器可以將一個消息服務的輸出傳送至另一個消息驅動bean的輸入,即新目標。
  
  比如說,一個無狀態的會話bean可以使用JMS發送一條異步消息到相應的目標,而在部署應用系統的時候,開發人員可以將該目標連接到一個部署在同一個EJB容器的消息驅動bean。也就是說,開發人員可以使用目標鏈接技術在部署期間定義消息流動,從而在商業平臺描述完整的工作流。
  
  2、定時器服務機制
  
  定時器服務機制是一個在EJB容器開發的調度系統。一個無狀態的會話bean或實體bean可以在相應的定時器中登記,從而在未來一定的時間點被定時器通知。
  
  定時器服務機制使用的是一個簡單的程序框架。作為其基礎的無狀態的會話bean 或實體bean必須實現 TimedObject接口:
  public interface javax.ejb.TimedObject{
  public void ejBTimeout(Timer timer);
  }
  
  當一個bean的相關時間點到達的時候,容器將會調用定時器的ejbTimeout()方法在這個方法中,開發人員將根據需求定義其應用邏輯。 比如說,一個關于用戶信息的實體bean具有一個每隔60天觸發的定時器,以用來提醒用戶應該修改密碼。這樣的話,每隔60天,EJB容器就會調用該定時器的ejbTimeout()方法,而這個實體bean就會向相關的mailer模塊發送一條JMS消息,后者將會向用戶的電子信箱發送要求修改密碼的email。Timer對象還具有一些其他特性,比如可以取消一個已定的定時器,查詢在觸發之前還有多少時間等。另外,開發人員還可以將一個定時器對象聯系到一個可序列化的對象,從而在定時器中存儲一些與應用相關的信息。當定時器響應的時候,開發人員可以訪問一定的應用信息并決定如何處理相關的時間。
  
  EJB可以通過TimerService接口來訪問EJB容器的定時器服務,也就是說實體bean和會話bean必須使用該接口來設定它們自己的定時器。為了達到這一目的,bean必須首先調用EJBContext.getTimerService()方法的程序示例如下:
  
  ……  
  public interface javax.ejb.TimerService{
  public Timer createTimer(java.util.Date eXPiration,
  java.iO.Serializable info);
  public Timer createTimer(java.util.Date initialExpiration,
  long intervalDuration,java.io.Serializable info);
  public Timer createTimer(long duration,
  java.io.Serializable info);
  public Timer createTimer(long initialDuration,
  long intervalDuration,
  java.io.Serializable info);
  public Collection getTimers();
  }
  ……
  
  在一些情況下,開發人員只需要定時器在特定的時間響應一次,而在其他一些情況下,則需要定時器間隔一定時間持續響應。比方說,上面我們提到的ejb就會每隔60天提醒用戶,也就是每隔60天的時間間隔就會響應一次。
  
  一個無狀態的會話bean或是實體bean可以設定多個定時器,但是一般來說它們都是由相同的ejbTimeout方法治理的。這種方法也可以使用可序列化的對象來區分不同的定時器。
  
  (三)EJBQL的提高
  
  EJB 2.1也包括兩項對于EJBQL的提高,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区视频在线观看| 欧美激情一区二区三区高清视频| 久久影视免费观看| 国产精品福利无圣光在线一区| 亚洲自拍小视频免费观看| 精品国产31久久久久久| 中文字幕亚洲综合久久| 欧美大片在线免费观看| 欧洲美女免费图片一区| 日韩精品一区二区三区第95| 色偷偷噜噜噜亚洲男人的天堂| 亚洲欧美中文日韩在线| 成人午夜在线视频一区| 国产精品久久久久77777| 亚洲欧洲一区二区三区在线观看| 久久综合久久八八| 亚洲人成亚洲人成在线观看| 91网在线免费观看| 成人深夜直播免费观看| 欧美人与物videos| 成人性生交大片免费看小说| 亚洲视频自拍偷拍| 国产mv久久久| 日韩精品在线第一页| 国产精品狼人色视频一区| 精品呦交小u女在线| 91久久精品久久国产性色也91| 国产精品欧美一区二区| 国产精品爽黄69天堂a| 日韩在线视频免费观看高清中文| 国产在线精品自拍| 亚洲第一区中文字幕| 午夜精品蜜臀一区二区三区免费| 97精品国产97久久久久久| 欧美精品亚州精品| 国产精品久久久久久久久久新婚| 91午夜理伦私人影院| 成人羞羞国产免费| 国产精品入口免费视频一| 一区二区三区四区视频| 亚洲一区二区免费在线| 亚洲成人a**站| 国产欧美va欧美va香蕉在线| 国产精彩精品视频| 97精品视频在线观看| 中文字幕国产精品久久| 国产精品一区二区三区久久| 国产日韩av在线播放| 日韩高清电影免费观看完整版| 欧美成人免费va影院高清| 欧美激情xxxx性bbbb| 日韩欧美国产一区二区| 神马久久久久久| 欧美裸体xxxxx| 欧美高清视频在线| 国产精品一区二区av影院萌芽| 久久亚洲影音av资源网| 日韩欧美在线中文字幕| 久久久久成人网| 久久久久久久久国产精品| 久久久久久香蕉网| 精品久久久久久久久久久| 91po在线观看91精品国产性色| 欧美激情第一页xxx| 久久黄色av网站| 欧美日韩亚洲激情| 欧美成人精品不卡视频在线观看| 久久国产色av| 国产精品免费一区二区三区都可以| 欧美高清视频在线| 亚洲电影免费在线观看| 日韩成人中文字幕| 成人午夜一级二级三级| 成人精品在线观看| 深夜福利国产精品| 性色av一区二区三区免费| 国产精品入口夜色视频大尺度| 亚洲人成伊人成综合网久久久| 日韩在线激情视频| 亚洲女人被黑人巨大进入| 国产精品黄页免费高清在线观看| 疯狂做受xxxx欧美肥白少妇| 亚洲视频一区二区三区| 欧美大片网站在线观看| 欧美福利在线观看| 在线观看国产成人av片| 日韩中文字幕在线播放| 91在线视频九色| 国产情人节一区| 日韩av不卡在线| 亚洲天堂成人在线| 精品国产乱码久久久久酒店| 亚洲电影免费观看| 午夜欧美不卡精品aaaaa| 青青a在线精品免费观看| 在线色欧美三级视频| 一区二区国产精品视频| 日韩**中文字幕毛片| 一区二区欧美久久| 久久久人成影片一区二区三区观看| 国产精品久久久久久av福利软件| 国产日韩在线看片| 久久久这里只有精品视频| 欧美体内谢she精2性欧美| 孩xxxx性bbbb欧美| 日韩一区二区久久久| 欧美中文字幕第一页| 日韩中文字幕欧美| 国产一区二区三区久久精品| 国产精品久久久久一区二区| 92看片淫黄大片欧美看国产片| 久久久www成人免费精品张筱雨| 色综合久久88色综合天天看泰| 欲色天天网综合久久| 亚洲精品一区久久久久久| 久久久噜噜噜久噜久久| 亚洲国产精品久久| 久久精品国产综合| 久久精品亚洲一区| 久久天天躁夜夜躁狠狠躁2022| 日韩欧美亚洲一二三区| 日韩成人激情视频| 国产精品高清免费在线观看| 亚洲成人激情在线观看| 欧美猛交ⅹxxx乱大交视频| 欧美色欧美亚洲高清在线视频| 久热国产精品视频| 亚洲一区二区三| 黑人精品xxx一区一二区| 国产精品欧美在线| 久久夜精品香蕉| 欧美丰满老妇厨房牲生活| 丝袜美腿精品国产二区| 国产精品jvid在线观看蜜臀| 国产精品美女www| 国产精品影片在线观看| 日韩精品中文字幕视频在线| 亚洲视频在线免费观看| 亚洲综合在线播放| 欧美精品久久久久久久久| 最新的欧美黄色| 国产一区深夜福利| 91亚洲午夜在线| 国产成人综合久久| 国产日韩在线精品av| 久久久久国产视频| 97色在线观看免费视频| 国产精品亚洲美女av网站| 国产网站欧美日韩免费精品在线观看| 91性高湖久久久久久久久_久久99| 91精品啪aⅴ在线观看国产| 国产mv免费观看入口亚洲| 国产精品999| 欧美高清在线播放| 欧美在线性视频| 欧美成人精品一区二区三区| 欧美激情一区二区久久久| 国产在线视频一区| 中文一区二区视频| 欧美电影免费播放| 成人性生交大片免费观看嘿嘿视频| 国产主播欧美精品| 亚洲福利在线播放| 亚洲激情电影中文字幕|