精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

EJB3.0的入門和使用EJB3.0的方法

開發 后端
本文先介紹了EJB3.0的入門包括EJB類型和什么是EJB?然后介紹使用EJB3.0的方法。

EJB3.0規范使開發EJB比過去更容易,可能誘惑你考慮開發***個EJB。如果真是這種情況,那么祝賀你,你經成功避免了在你以前EJB開發者的很多挫折,并且享受到EJB3.0開發的便利性。但是你開始開發以前,你可能想知道EJB是什么和它們用于什么目的。本篇文章解釋了EJB的基礎和你如何在一個J2EE程序中使用
它們。

什么是EJB?

一個企業JavaBean (EJB)是一個可重用的,可移植的J2EE組件。 EJB由封裝了業務邏輯的多個方法組成。例如,一個EJB可以有包括一個更新客戶數據庫中數據的方法的業務邏輯。多個遠程和本地客戶端可以調用這個方法。另外,EJB運行在一個容器里,允許開發者只關注與bean中的業務邏輯而不用考慮象事務支持,安全性和遠程對象訪問等復雜和容易出錯的事情。EJB以POJO或者普通舊的Java對象形式開發,開發者可以用元數據注釋來定義容器如何管理這些Bean。

EJB類型

EJB主要有三種類型:會話Bean,實體Bean和消息驅動Bean。會話Bean完成一個清晰的解耦的任務,例如檢查客戶賬戶歷史記錄。實體Bean是一個代表存在于數據庫中業務對象的復雜業務實體。消息驅動Bean用于接收異步JMS消息。讓我們更詳細的認識這些類型。

會話Bean

會話Bean一般代表著業務流程中象"處理訂單"這樣的動作。會話Bean基于是否維護過度狀態分為有狀態或者無狀態。無狀態會話Bean 沒有中間狀態。它們不保持追蹤一個方法調用另一個方法傳遞的信息。因此一個無狀態業務方法的每一次調用都獨立于它的前一個調用;例如,稅費計算或者轉移賬款。 當計算稅費額的方法被調用時,稅費值被計算并返回給調用的方法,沒有必要存儲調用者為將來調用備用的內部狀態。因為它們不維護狀態,所以這些Bean是僅僅由容器管理。當客戶端請求一個無狀態的Bean實例時,它可以接收來自由容器管理的無狀態會話Bean實例集中的一個實例。也因為無狀態會話Bean能夠被共享,所以容器可以維護更少數量的實例來為大量的客戶端服務。簡單地象該Bean增加元注釋@Stateless 來指定一個 Java Bean作為一個無狀態會話Bean被部署和管理。

一個有狀態的會話Bean維護一個跨越多個方法調用的會話狀態;例如在線購物籃應用。當客戶開始在線購物時,客戶的詳細信息從數據庫獲得。相同的信息對于當客戶從購物籃中增加或者移除商品等等操作時被調用的其他方法也是可訪問的 。但是因為該狀態不是在會話結束,系統崩潰或者網絡失敗時保留,所以有狀態會話Bean是暫時的。當一個客戶端請求一個有狀態會話Bean實例時,客戶端將會得到一個會話實例,該Bean的狀態只為給客戶端維持。通過向方法增加元注釋@Remove來告訴容器當某個方法調用結束一個有狀態會話Bean實例應該被移除。會話Bean實例

 
  1. import javax.ejb.Stateless.*;  
  2. /**  
  3. * A simple stateless session bean implementing the incrementValue() method of the * CalculateEJB interface.  
  4. */  
  5. @Stateless(name="CalculateEJB")  
  6. public class CalculateEJBBean  
  7. implements CalculateEJB  
  8. {  
  9. int value = 0;  
  10. public String incrementValue()  
  11. {  
  12. value++;  
  13. return "value incremented by 1";  
  14. }  

實體Bean

實體Bean是管理持久化數據的一個對象,潛在使用一些相關的Java對象并且可以依靠主鍵被***識別。通過包括@Entity 元注釋來指定一個類是一個實體Bean。實體Bean表示來自數據庫的持久化數據,例如客戶表中的一個紀錄,或者一個員工表中的一個員工記錄。實體Bean也可以被多個客戶端共享。例如一個員工實體能夠被多個計算一個員工每年工資總額或者更新員工地址的客戶端使用。實體Bean對象特定變量能夠保持持久化。實體Bean中所有沒有@Transient 元注釋的變量需要考慮持久化。EJB3.0的一個主要特色是創建包含使用元數據注釋的對象/關系映射實體Bean的能力。例如,指定實體Bean的empId變量映射到employee表中的EMPNO屬性,象下面實例中一樣用@Table(name="Employees") 注釋這個表的名字和用@Column(name="EMPNO")注釋empId變量。另外,EJB3.0中的一個特色是你可以很容易的在開發時測試實體Bean,可以用Oracle Application Server Entity Test Harness在容器外部運行一個實體Bean。

 
  1. import javax.persistence.*;  
  2. import java.util.ArrayList;  
  3. import java.util.Collection;  
  4. @Entity  
  5. @Table(name = "EMPLOYEES")  
  6. public class Employee implements java.io.Serializable  
  7. {  
  8. private int empId;  
  9. private String eName;  
  10. private double sal;  
  11. @Id  
  12. @Column(name="EMPNO"primaryKey=true)  
  13. public int getEmpId()  
  14. {  
  15. return empId;  
  16. }  
  17. public void setEmpId(int empId)  
  18. {  
  19. this.empId = empId;  
  20. }  
  21. public String getEname()  
  22. {  
  23. return eName;  
  24. }  
  25. public void setEname(String eName)  
  26. {  
  27. this.eName = eName;  
  28. }  
  29. public double getSal()  
  30. {  
  31. return sal;  
  32. }  
  33. public void setSal(double sal)  
  34. {  
  35. this.sal = sal;  
  36. }  
  37. public String toString()  
  38. {  
  39. StringBuffer buf = new StringBuffer();  
  40. buf.append("Class:")  
  41. .append(this.getClass().getName()).append(" :: ").append(" empId:").append(getEmpId()).append(" ename:").append(getEname()).append("sal:").append(getSal());  
  42. return buf.toString();  
  43. }  

#p#

消息驅動Bean

驅動Bean (MDB) 提供了一個實現異步通信比直接使用Java消息服務(JMS)更容易地方法。創建MDB接收異步JMS消息。容器處理為JMS隊列和主題所要求加載處理的大部分工作。它向相關的MDB發送所有的消息。一個MDB允許J2EE應用發送異步消息,該應用能處理這些消息。實現javax.jms.MessageListener接口和使用@MessageDriven注釋該Bean來指定一個Bean是消息驅動Bean。

消息驅動Bean實例

 
  1. import javax.ejb.MessageDriven;  
  2. import javax.ejb.ActivationConfigProperty;  
  3. import javax.ejb.Inject;  
  4. import javax.jms.*;  
  5. import java.util.*;  
  6. import javax.ejb.TimedObject;  
  7. import javax.ejb.Timer;  
  8. import javax.ejb.TimerService;  
  9. @MessageDriven(  
  10. activationConfig = {  
  11. @ActivationConfigProperty(propertyName="connectionFactoryJndiName"propertyValue="jms/TopicConnectionFactory"),  
  12. @ActivationConfigProperty(propertyName="destinationName"propertyValue="jms/myTopic"),  
  13. @ActivationConfigProperty(propertyName="destinationType"propertyValue="javax.jms.Topic"),  
  14. @ActivationConfigProperty(propertyName="messageSelector"propertyValue="RECIPIENT = 'MDB'")  
  15. }  
  16. )  
  17. /**  
  18. * A simple Message-Driven Bean that listens to the configured JMS Queue or Topic and gets notified 
  19. via an * invocation of it's onMessage() method when a message has been posted to the Queue or Topic. The bean  
  20. * prints the contents of the message.  
  21. */  
  22. public class MessageLogger implements MessageListener, TimedObject  
  23. {  
  24. @Inject javax.ejb.MessageDrivenContext mc;  
  25. public void onMessage(Message message)  
  26. {  
  27. System.out.println("onMessage() - " + message);  
  28. try  
  29. {  
  30. String subject = message.getStringProperty("subject");  
  31. String inmessage = message.getStringProperty("message");  
  32. System.out.println("Message received\n\tDate: " + new java.util.Date() + "\n\tSubject: " + subject + "\n\tMessage: " + inmessage + "\n");  
  33. System.out.println("Creating Timer a single event timer");  
  34. TimerService ts = mc.getTimerService();  
  35. Timer timer = ts.createTimer(30000, subject);  
  36. System.out.println("Timer created by MDB at: " + new Date(System.currentTimeMillis()) +" with info: "+subject);  
  37. }  
  38. catch (Throwable ex)  
  39. {  
  40. ex.printStackTrace();  
  41. }  
  42. }  
  43. public void ejbTimeout(Timer timer)  
  44. {  
  45. System.out.println("EJB 3.0: Timer with MDB");  
  46. System.out.println("ejbTimeout() called at: " + new Date(System.currentTimeMillis()));  
  47. return;  
  48. }  

使用EJB

客戶端是訪問Bean的應用程序。雖然沒有必要保存在客戶層,但是能夠作為一個獨立的應用,JSP,Servlet,或者另一個EJB。客戶端通過Bean的遠程或者本地接口訪問EJB中的方法,主要取決于客戶端和Bean運行在同一個還是不同的JVM中。這些接口定義了Bean中的方法,而由Bean類實際實現這些方法。當一個客戶端訪問該Bean類中的一個方法時,容器生成Bean的一個代理,被叫做遠程對象或者本地對象。遠程或者本地對象接收請求,委派它到相應的Bean實例,返回結果給客戶端。調用一個Bean中的方法,客戶端使用定義在EJB不是描述文件的名字查找到Bean。在以下實例中,客戶端使用上下文對象找到命名為"StateLessejb"Bean。

EJB 客戶端實例

 

  1. import javax.naming.Context;  
  2. import javax.naming.InitialContext;  
  3.  
  4. /**  
  5. * A simple bean client which calls methods on a stateless session bean.  
  6. */  
  7.  
  8. public class CalculateejbClient  
  9. {  
  10. public static void main(String [] args)  
  11. {  
  12. Context context = new InitialContext();  
  13. CalculateEJB myejb =  
  14. (CalculateEJB)context.lookup("java:comp/env/ejb/CalculateEJB");  
  15. myejb.incrementValue();  
  16. }  

總結

EJB3.0開發企業JavaBean是相當容易的。此規范使用元數據注釋定義Bean的類型和暴露給客戶端的方法。因此,無論你將創建一個執行特定任務的會話Bean還是映射一個表到實體Bean來更新數據,你都能象使用普通Java對象和接口一樣進行處理,在業務方法中使用元注釋向客戶端暴露方法。既然你已經理解了EJB的基礎,可以到OTN中EJB 3.0 Resources Page發現更多信息。

【編輯推薦】

  1. JavaBean與EJB的不同
  2. 基于EJB技術的商務預訂系統的開發
  3. Enterprise JavaBeans EJB技術
  4. EJB分布式對象基礎篇
  5. 學習EJB編程的簡單過程
責任編輯:佚名 來源: 百度博客
相關推薦

2009-06-12 09:41:07

EJB3.0Spring

2009-06-15 16:06:25

JBoss IDE

2009-09-24 12:05:35

2009-06-12 09:30:56

EJB3.0Spring+Hibe

2009-06-22 16:59:33

POJOSpringEJB 3.0

2009-06-26 15:17:44

SDOEJB 3.0

2009-06-04 17:33:08

EJB 3.1EJB 3.0

2009-09-22 11:30:57

2009-06-01 15:32:30

EclipseJPA入門

2009-06-11 15:26:05

EJB組件EJB容器

2009-06-12 15:03:19

ibmdwWebSphere

2009-06-01 12:04:38

JPASpringJAVA

2010-05-06 09:53:04

ibmdwWebSphere

2009-06-17 13:58:00

JMeter測試EJB

2009-06-12 09:07:01

EJB入門

2009-06-12 09:15:04

EJB入門

2011-03-28 10:46:22

ibmdwWebSphere

2009-06-11 16:01:17

EJB容器

2009-06-11 16:53:09

什么是EJBEJB

2009-06-25 16:35:12

EJB技術
點贊
收藏

51CTO技術棧公眾號

日韩女优一区二区| 伊人久久在线观看| 国产午夜麻豆影院在线观看| 日韩精品一区二区三区免费观影| 欧美日韩一级大片网址| 在线观看欧美亚洲| 欧美自拍偷拍一区二区| 三级欧美在线一区| 伦理中文字幕亚洲| 精品久久久久久中文字幕人妻最新| 成人视屏在线观看| 一区二区三区在线视频免费| 欧美国产一二三区| 国产日韩欧美一区二区东京热 | 国产91在线观看丝袜| 456国产精品| www.av免费| 亚洲亚洲免费| 精品久久99ma| 亚洲天堂2018av| 涩涩涩视频在线观看| 日韩美女视频一区二区| 久久国产一区二区| 国产欧美日韩免费看aⅴ视频| 狠狠躁狠狠躁视频专区| 蜜臀av国内免费精品久久久夜夜| 久久毛片高清国产| 成人区精品一区二区| 国产精品xxxxxx| 亚洲激情不卡| 精品自在线视频| 国产综合精品久久久久成人av| 国产精品chinese在线观看| 欧美日韩免费不卡视频一区二区三区 | 综合伊人久久| 欧美三日本三级三级在线播放| 日本福利视频在线| 日本三级在线观看网站| 亚洲国产精品成人综合| 美女被啪啪一区二区| 人妻无码一区二区三区久久99| 久久国产精品区| 国产成人综合久久| 久久久黄色大片| 在线亚洲国产精品网站| 久久免费国产视频| 精品97人妻无码中文永久在线| 久久国产电影| 亚洲欧美制服中文字幕| 久久久久麻豆v国产精华液好用吗 在线观看国产免费视频 | 久操精品在线| 精品呦交小u女在线| 波多野结衣办公室双飞| 视频一区日韩| 日韩一区二区三区四区五区六区| 红桃视频 国产| 青青在线精品| 欧美人与性动xxxx| 五月天婷婷亚洲| 日日夜夜亚洲精品| 欧美一区二区三区四区五区| 三上悠亚在线一区| 日韩国产91| 91精品国产色综合久久不卡蜜臀| 91探花福利精品国产自产在线 | 国内爆初菊对白视频| 国产一区二区视频在线播放| 成人a级免费视频| 国产精品毛片一区二区在线看舒淇| 久久电影网站中文字幕| 亚洲永久在线观看| 欧美视频xxx| 成人午夜视频在线| 久久久精彩视频| 国产一区精品| 国产精品久久久久三级| 中文字幕一区二区三区乱码| 中文在线观看免费| 亚洲大片免费看| 国产三区在线视频| 国产经典一区| 91精品国产高清一区二区三区蜜臀| 肉色超薄丝袜脚交| 国产精品zjzjzj在线观看| 日韩电影中文字幕在线| 人妻精品久久久久中文| 亚洲精彩视频| 国内精品久久久久久影视8| 在线能看的av| 精品一区二区三区日韩| 成人一区二区在线| 黄色小视频在线观看| 中文字幕一区二区三区在线不卡 | 色成年激情久久综合| 污污的网站18| 4438全国亚洲精品观看视频| 日韩精品视频在线观看免费| 人成免费在线视频| 亚洲电影在线| 国产精品视频不卡| 超碰在线观看av| 国产亚洲精品超碰| 久久久久久久香蕉| 台湾成人免费视频| 精品国产污网站| 我想看黄色大片| 亚洲国产一区二区精品专区| 国产精品成人va在线观看| 国产日韩二区| 中文字幕第315页| 国产成人av电影在线观看| 美女被啪啪一区二区| 最新黄网在线观看| 91豆麻精品91久久久久久| 日日夜夜精品视频免费观看| 亚洲国产最新| 欧美国产中文字幕| 伊人久久国产精品| 91色|porny| 欧美高清中文字幕| 国产亚洲人成a在线v网站 | 天天做天天爱天天爽综合网| 91黑丝在线观看| 99国产精品99| 国产欧美日韩精品一区| av免费观看大全| 精品中文字幕一区二区三区| 亚洲欧美在线一区| 日本天堂在线视频| 国产精品2024| 天堂av免费看| 成人四虎影院| 亚洲男人天堂久| 久久精品视频8| 国产尤物一区二区| 亚洲日本精品一区| 成人视屏在线观看| 亚洲欧美日韩国产中文| 日韩特黄一级片| 国产成人精品免费一区二区| 中国一区二区三区| 欧美电影在线观看网站| 国产一区二区三区四区福利| 亚洲 欧美 成人| 久久综合九色综合欧美亚洲| 人妻久久久一区二区三区| 日韩在线亚洲| 欧美激情中文字幕在线| 北条麻妃一二三区| 一区二区三区在线观看网站| www.51色.com| 中文精品电影| 亚洲mm色国产网站| 怡红院在线观看| 欧美不卡一区二区三区| 久久久久国产精品夜夜夜夜夜| 国产在线精品不卡| 日韩一区二区三区电影在线观看| 可以在线看的黄色网址| 图片婷婷一区| 日本午夜精品理论片a级appf发布| 日韩a在线看| 欧美日韩中文在线观看| 人妻少妇一区二区| 三级一区在线视频先锋| 亚洲精品一区二区三区樱花| 四虎永久精品在线| 久久国产精品网站| 亚洲精品国产精品乱码不卡| 亚洲大片免费看| 成人乱码一区二区三区av| 久久九九电影| 亚洲欧美国产一区二区| 中文字幕日韩亚洲| 欧美高清视频在线播放| 五月天婷婷在线播放| 日韩欧美中文字幕在线播放| 精品国产aaa| 国产精品一色哟哟哟| 800av在线免费观看| 欧美调教在线| 国产美女直播视频一区| 在线你懂的视频| 亚洲精品久久久久| 中文字幕 国产精品| 亚洲欧美中日韩| 一级黄色片毛片| 久久这里有精品15一区二区三区| 亚洲最新在线| 精品亚洲自拍| 国产精品影院在线观看| 欧洲性视频在线播放| 亚洲欧美日韩中文在线| 国产特黄一级片| 精品成人乱色一区二区| 国产三级aaa| 99国产精品久久| 999在线观看| 亚洲国内精品| 曰韩不卡视频| 亚洲高清极品| 91在线观看免费网站| 天堂网在线最新版www中文网| 色婷婷av一区二区三区久久| 五月婷在线视频| 欧美人与禽zozo性伦| 99精品视频99| 一区二区三区在线免费| 337人体粉嫩噜噜噜| 成人黄色a**站在线观看| 亚洲黄色av网址| 亚洲三级毛片| 成人午夜免费剧场| 日本韩国精品一区二区| 伊人成年综合电影网| 精品无人区一区二区三区| 日韩久久99| 青草青草久热精品视频在线网站 | 国产69精品久久久| 日本中文在线观看| 亚洲精选在线观看| 囯产精品久久久久久| 欧美绝品在线观看成人午夜影视| 久热这里只有精品6| 亚洲精品欧美专区| 污污视频网站在线免费观看| 26uuu成人网一区二区三区| 在线观看免费看片| 免费成人在线视频观看| 成人在线观看a| 亚洲免费激情| 少妇久久久久久被弄到高潮| 日韩成人精品一区| 欧美性天天影院| 欧美韩一区二区| 国产精品免费一区二区三区在线观看| 日韩成人综合网站| 国产精品偷伦视频免费观看国产| 成人免费看视频网站| 97精品伊人久久久大香线蕉| 女子免费在线观看视频www| 久久视频国产精品免费视频在线| 95在线视频| 在线成人激情黄色| 国产精品久久一区二区三区不卡| 亚洲高清在线观看| 亚洲国产精品欧美久久| 日韩欧美一级二级| 亚洲精品97久久中文字幕无码| 欧美一区二区三区四区视频| 99久久精品国产一区二区成人| 911精品产国品一二三产区| 在线观看亚洲国产| 欧美精品vⅰdeose4hd| 国产精品亚洲lv粉色| 在线成人免费观看| www.国产黄色| 精品捆绑美女sm三区| 搡老岳熟女国产熟妇| 日韩成人免费视频| 极品白浆推特女神在线观看| 亚洲精品一区二区久| 青青操在线视频| 亚洲社区在线观看| 色网站免费在线观看| 美女福利视频一区| 俺来也官网欧美久久精品| 国模精品系列视频| 韩国美女久久| 波多野结衣精品在线| 日韩精品在线视频免费观看| 亚洲国产高清一区| 黄色国产精品视频| 蜜桃视频一区二区| 99精品视频免费版的特色功能| 国产91精品一区二区| 欧美深性狂猛ⅹxxx深喉| 国产亚洲一区字幕| 九九这里只有精品视频| 亚洲愉拍自拍另类高清精品| 国产成人无码精品久久久久| 欧美性猛交一区二区三区精品| 在线观看日批视频| 亚洲成人激情在线| 国产福利片在线| 久久综合伊人77777尤物| 91在线三级| 国产精品高潮呻吟久久av黑人| 91成人短视频在线观看| 国产综合精品一区二区三区| 欧美一区二区三| 久久精品在线免费视频| 美女国产精品| 中文字幕在线视频一区二区三区| 99视频有精品| 极品美妇后花庭翘臀娇吟小说| 午夜精品成人在线| 亚洲精品国产精品乱码视色| 日韩你懂的在线播放| 精品无吗乱吗av国产爱色| 欧美精品免费在线| 国产精品专区免费| 51国偷自产一区二区三区 | 综合久久2023| 亚洲一区亚洲二区| 欧美精品第一区| 青青草综合在线| 日韩不卡一区二区三区 | y111111国产精品久久久| 日本成人黄色免费看| 国产专区一区| 国产亚洲视频一区| 久久久精品一品道一区| 久久免费播放视频| 精品视频1区2区3区| 同心难改在线观看| 欧美激情久久久久久| 欧美黄色网络| 手机成人在线| 国产亚洲精品bv在线观看| 麻豆网站免费观看| 中文一区二区完整视频在线观看 | 欧美日韩国产美女| 麻豆影视在线| 51精品在线观看| 99这里只有精品视频| 亚洲区成人777777精品| 蜜桃视频一区二区三区在线观看| 亚洲熟妇无码av| 天天做天天摸天天爽国产一区| 国产激情久久久久久熟女老人av| 中文字幕久久久| se01亚洲视频| 国产成人在线免费| 尤物网站在线观看| 亚洲已满18点击进入久久| 国产一区二区自拍视频| 在线电影欧美日韩一区二区私密| 在线观看特色大片免费视频| 国产三区二区一区久久| 在线成人国产| 蜜臀av粉嫩av懂色av| 午夜精品在线看| 日日夜夜精品免费| 亚州国产精品久久久| 美女扒开腿让男人桶爽久久动漫| av在线com| 粉嫩13p一区二区三区| 国产一级视频在线播放| 精品国产91乱码一区二区三区| 少妇视频在线| 国产精品久久亚洲| 99精品热视频只有精品10| 欧美深性狂猛ⅹxxx深喉| 狠狠躁夜夜躁人人爽超碰91| 欧美一区二区公司| 91精品国产91久久久久久| 丝袜美腿综合| 欧美精品第三页| 国产午夜亚洲精品不卡| 国产裸体美女永久免费无遮挡| 中国人与牲禽动交精品| 欧美美女福利视频| 樱空桃在线播放| 成人做爰69片免费看网站| 日本少妇久久久| 亚洲精品自拍视频| www.26天天久久天堂| 一区在线电影| 国产宾馆实践打屁股91| 国产精品视频免费播放| 在线视频亚洲欧美| 久久在线观看| 久在线观看视频| 国产日产精品1区| 一区不卡在线观看| 久久99热精品| 亚洲桃色综合影院| 亚洲天堂国产视频| 亚洲午夜激情av| 电影在线一区| 超碰97网站| 日韩高清在线电影| 亚洲一级生活片| 日韩精品极品毛片系列视频| 先锋欧美三级| www.好吊操| 国产精品色哟哟网站| 亚洲av无码乱码国产精品久久| 欧美做受高潮电影o| 91久久国产| 亚洲熟女乱综合一区二区三区| 欧美三级中文字幕| av在线理伦电影| 亚洲激情电影在线| aaa欧美日韩| 99在线观看精品视频| 欧美一级大片在线观看| 亚洲91精品| 久久精品国产亚洲av麻豆|