隨筆 - 312, 文章 - 14, 評(píng)論 - 1393, 引用 - 0
          數(shù)據(jù)加載中……

          ejb3

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(15):攔截器方法和攔截器類(lèi)
               摘要: EJB3可以通過(guò)攔截器對(duì)Bean方法進(jìn)行攔截和覆蓋。這有些象AOP中的around。通過(guò)AOP的around方法,可以修改被攔截方法的返回值、參數(shù)值,甚至可以取消被攔截方法的執(zhí)行。EJB3的攔截器可以用在無(wú)狀態(tài)Session Bean、有狀態(tài)Session Bean和消息驅(qū)動(dòng)Bean(MDB)的方法中。實(shí)現(xiàn)攔截器的最簡(jiǎn)單的方法是使用攔截器方法。也就是說(shuō),只要在當(dāng)前的Bean中使用 @AroundInvoke對(duì)某個(gè)方法進(jìn)行注釋?zhuān)P(guān)于攔截器的類(lèi)都在javax.interceptor包中),那么這個(gè)方法就會(huì)變成攔截器方法,該攔截器方法會(huì)攔截當(dāng)前Bean中的所有方法。  閱讀全文

          posted @ 2009-06-14 11:00 銀河使者 閱讀(1938) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(14):消息驅(qū)動(dòng)Bean
               摘要: 在前面的文章中給出的SessionBean的例子都是同步調(diào)用SessionBean方法的,也就是說(shuō),只有當(dāng)方法中的代碼都執(zhí)行完,才能返回到客戶(hù)端。但在某些情況下,由于SessionBean方法的執(zhí)行時(shí)間比較長(zhǎng),這就需要異步地調(diào)用該方法,否則客戶(hù)端就需要等待比較長(zhǎng)的時(shí)間。要實(shí)現(xiàn)異步調(diào)用,就需要使用本要講的消息驅(qū)動(dòng)Bean。消息驅(qū)動(dòng)Bean的基本原理是客戶(hù)端向消息服務(wù)器發(fā)送一條消息后,消息服務(wù)器會(huì)將該消息保存在消息隊(duì)列中。在這時(shí)消息服務(wù)器中的某個(gè)消費(fèi)者(讀取并處理消息的對(duì)象)會(huì)讀取該消息,并進(jìn)行處理。發(fā)送消息的客戶(hù)端被稱(chēng)為消息生產(chǎn)者。  閱讀全文

          posted @ 2009-06-08 23:40 銀河使者 閱讀(2481) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(13):在Servlet中訪(fǎng)問(wèn)應(yīng)用程序管制EntityManager對(duì)象
               摘要: 在前面的文章中使用的都是容器管制的EntityManager對(duì)象。這類(lèi)EntityManager對(duì)象是由EJB容器創(chuàng)建的,在這種情況下,EntityManager對(duì)象的生命周期完全由EJB容器來(lái)管理。在SessionBean中可以使用如下的代碼來(lái)通知EJB容器創(chuàng)建 EntityManager對(duì)象:
          @PersistenceContext(unitName="myentity")
          protected EntityManager em;
          上面的代碼需要放在任意一個(gè)SessionBean的類(lèi)中,EJB容器會(huì)自動(dòng)創(chuàng)建EntityManager對(duì)象。但如果要在Servlet中直接訪(fǎng)問(wèn) EntityManager對(duì)象,需要使用EntityManagerFactory接口的createEntityManager方法來(lái)創(chuàng)建 EntityManager對(duì)象,在使用完EntityManagerFactory和EntityManager對(duì)象后,可以使用相應(yīng)的close方方關(guān)閉這兩個(gè)對(duì)象。  閱讀全文

          posted @ 2009-06-06 14:07 銀河使者 閱讀(2202) | 評(píng)論 (2)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(12):使用命名查詢(xún)執(zhí)行JPQL
               摘要: 在EJB3中可以使用EntityManager對(duì)象的createQuery方法來(lái)執(zhí)行JPQL(類(lèi)似于Hibernate中的HQL),這非常簡(jiǎn)單。但使用createQuery方法處理JPQL時(shí),在每次執(zhí)行JPQL的過(guò)程中系統(tǒng)都需要對(duì)JPQL進(jìn)行分析,這在一定程度上降低了系統(tǒng)運(yùn)行時(shí)的性能。為此,EJB3提供了命名查詢(xún)的概念。命名查詢(xún)有些類(lèi)型于數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程,在提交的過(guò)程中就已經(jīng)被編譯處理了。因此,在執(zhí)行效率上要高一些。  閱讀全文

          posted @ 2009-06-05 10:12 銀河使者 閱讀(3037) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(11):實(shí)體Bean的連接策略(JOINED Strategy)
               摘要: 本文介紹了如何使用連接策略(JOINED Strategy)對(duì)物理表進(jìn)行劃分。子表與父表共享主鍵。  閱讀全文

          posted @ 2009-06-04 15:31 銀河使者 閱讀(2081) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(10):通過(guò)繼承實(shí)體Bean,將單個(gè)表映射成多個(gè)表(單表策略,SINGLE_TABLE)
               摘要: 如果以前使用過(guò)EJB1.x或EJB2.x的實(shí)體Bean,會(huì)發(fā)現(xiàn)無(wú)法通過(guò)繼承實(shí)體Bean將單個(gè)表分成多表。而在EJB3中,我們可以很容易地使用@Inheritance和@DiscriminatorColumn注釋來(lái)實(shí)現(xiàn)這個(gè)功能。  閱讀全文

          posted @ 2009-06-03 16:22 銀河使者 閱讀(1821) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(9):實(shí)現(xiàn)Entity Bean的多對(duì)多(many-to-many)映射
               摘要: 本文介紹了如何使用@ManyToMany注釋實(shí)現(xiàn)多對(duì)多的映射關(guān)系。在EJB3中多對(duì)多的映射關(guān)系需要使用一個(gè)連接表來(lái)描述。  閱讀全文

          posted @ 2009-06-03 16:15 銀河使者 閱讀(1797) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(8):實(shí)現(xiàn)Entity Bean的一對(duì)多(one-to-many)映射
               摘要: 本文介紹了如使用@OneToMany注釋來(lái)實(shí)現(xiàn)一對(duì)多的映射,以及使用@JoinTable注釋指定連接表來(lái)實(shí)現(xiàn)一對(duì)多的單向映射。  閱讀全文

          posted @ 2009-06-03 15:27 銀河使者 閱讀(2177) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(7):實(shí)現(xiàn)Entity Bean的一對(duì)一(one-to-one)映射
               摘要: 一對(duì)一映射是很常用的。在一般情況下,一個(gè)主表通過(guò)外鍵和從表形成一對(duì)一的關(guān)系。在EJB3中使用@OneToOne注釋來(lái)映射。一對(duì)一關(guān)系除了使用外鍵進(jìn)行關(guān)聯(lián)外,也可以采用共享主鍵的方式連接兩個(gè)表。  閱讀全文

          posted @ 2009-06-03 10:51 銀河使者 閱讀(2152) | 評(píng)論 (1)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(6):編寫(xiě)第一個(gè)實(shí)體Bean程序
               摘要: EJB3容器通過(guò)EntityManager對(duì)象管理實(shí)體Bean,該類(lèi)最主要的功能就是在記錄和JavaBean之間進(jìn)行互相映射。例如,我們從數(shù)據(jù)庫(kù)中查出一條記錄,這條記錄有field1和field2兩個(gè)字段,假設(shè)有一個(gè)JavaBean,也包含了field1和field2屬性。那么 EntityManager可以將這條記錄中的值映射到JavaBean的field1和field2屬性中。也就是說(shuō),在數(shù)據(jù)庫(kù)中的一條記錄就對(duì)應(yīng)于一個(gè)JavaBean的對(duì)象實(shí)例。下面將給出一個(gè)簡(jiǎn)單的例子來(lái)演示如何來(lái)實(shí)現(xiàn)一個(gè)應(yīng)用實(shí)體Bean的程序。在這個(gè)例子中使用無(wú)狀態(tài)的session bean通過(guò)EntityManager對(duì)象從數(shù)據(jù)表中查找一條記錄,將該記錄映射成實(shí)體Bean的對(duì)象實(shí)例,最后通過(guò)session bean的方法返回該記錄的某個(gè)字段值。  閱讀全文

          posted @ 2009-05-29 22:02 銀河使者 閱讀(2599) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(5):使用配置文件發(fā)布Session Bean
               摘要: Session Bean除了可以使用注釋來(lái)發(fā)布外,也可以使用相應(yīng)的配置文件來(lái)發(fā)布。在這種情況下,就不需要在接口和Session Bean中使用注釋了。在JBoss中需要兩個(gè)文件對(duì)Session bean進(jìn)行配置。這兩個(gè)文件是ejb-jar.xml和jboss.xml。這兩個(gè)文件應(yīng)該META-INF目錄中,該目錄應(yīng)該放在jar文件的根目錄。ejb-jar.xml文件負(fù)責(zé)配置session bean,  閱讀全文

          posted @ 2009-05-27 11:03 銀河使者 閱讀(3245) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(4):Session Bean中的注釋方法
               摘要: 有時(shí)需要在Session Bean中初始化和釋放一些資源。這些工作應(yīng)該在SessionBean的@PostConstruct和@PreDestroy方法中進(jìn)行。其中用 @PostConstruct注釋的方法在SessionBean的構(gòu)造方法調(diào)用之后以后EJB容器在處理完一些其他工作后調(diào)用。用 @PreDestroy注釋的方法在SessionBean的對(duì)象實(shí)例被EJB容器銷(xiāo)毀之前調(diào)用。  閱讀全文

          posted @ 2009-05-26 17:12 銀河使者 閱讀(2522) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(3):使用Session Bean的本地接口
               摘要: 有時(shí)客戶(hù)端程序(如JSP、Servlet)會(huì)和EJB組件運(yùn)行在同一個(gè)JVM上,如在同一個(gè)J2EE服務(wù)器(JBoss、Weblogic等)中運(yùn)行。這時(shí)就沒(méi)必要再通過(guò)遠(yuǎn)程(remote)接口訪(fǎng)問(wèn)Session Bean了,因?yàn)榭蛻?hù)端和session bean都在同一個(gè)jvm上,只需要通過(guò)本地接口(local)訪(fǎng)問(wèn)即可。就象直接訪(fǎng)問(wèn)本地類(lèi)一樣(當(dāng)然,不能直接訪(fǎng)問(wèn)EJB類(lèi),需要使用jndi和 local接口來(lái)獲得本地接口對(duì)象。當(dāng)然,也可以通過(guò)remote接口來(lái)訪(fǎng)問(wèn)ejb,不過(guò)這樣會(huì)有一些性能損失。就象在同一臺(tái)機(jī)器上還通過(guò)socket進(jìn)行訪(fǎng)問(wèn)一樣,很多性能都損耗在網(wǎng)絡(luò)上了。  閱讀全文

          posted @ 2009-05-14 17:15 銀河使者 閱讀(2492) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(2):編寫(xiě)有狀態(tài)的SessionBean
               摘要: 編寫(xiě)有狀態(tài)的(Stateful)的Session Bean也非常簡(jiǎn)單,只需要將無(wú)狀態(tài)注釋(@Stateless)改成有狀態(tài)注釋?zhuān)ˊStateful)即可。如果使用Stateful Sessionbean,客戶(hù)端在使用同一個(gè)SessionBean對(duì)象實(shí)例時(shí)可以保存狀態(tài),也就是說(shuō),在多次引用該對(duì)象時(shí)實(shí)際上在服務(wù)端是使用的同一個(gè) Sessionbean的對(duì)象實(shí)例,而無(wú)狀態(tài)sessionbean使用了不同的sessionbean對(duì)象實(shí)例,因此,是無(wú)法保存狀態(tài)的。  閱讀全文

          posted @ 2009-05-13 09:51 銀河使者 閱讀(2866) | 評(píng)論 (0)  編輯

          eclipse + JBoss 5 + EJB3開(kāi)發(fā)指南(1):編寫(xiě)第一個(gè)無(wú)狀態(tài)的SessionBean
               摘要: 本文中將編寫(xiě)一個(gè)簡(jiǎn)單的無(wú)狀態(tài)SessionBean。在發(fā)布EJB時(shí),一般需要將EJB程序以jar文件的形式進(jìn)行發(fā)布。這些jar文件將被放在\server\default\deploy目錄中。如果在Eclipse中開(kāi)發(fā)EJB程序,需要進(jìn)行一些配置。首選需要在首選項(xiàng)(Preferences)對(duì)話(huà)框中設(shè)置JBoss的安裝目錄(如D:\jboss5)。然后在運(yùn)行配置對(duì)話(huà)框中添加jboss的運(yùn)行項(xiàng)。在jboss4.2及以后的版本中,默認(rèn)情況下jboss只接收來(lái)自localhost或127.0.0.1的請(qǐng)求,也就是只接收本地的訪(fǎng)問(wèn)。為了使 jboss接收來(lái)自其他地址的請(qǐng)求,在啟動(dòng)jboss時(shí)需要使用-b命令行參數(shù)進(jìn)行設(shè)置。如下面的啟動(dòng)命令所示:run.bat -b 200.200.200.123,run.bat -b 0.0.0.0  閱讀全文

          posted @ 2009-05-01 14:39 銀河使者 閱讀(5292) | 評(píng)論 (3)  編輯

          Weblogic10 + EJB3入門(mén)教程(1):編寫(xiě)第一個(gè)無(wú)狀態(tài)會(huì)話(huà)Bean(Stateless Session Bean)
               摘要: 在本文主要介紹如何來(lái)開(kāi)發(fā)一個(gè)Stateless Session Bean,并在未安裝WebLogic10的機(jī)器上訪(fǎng)問(wèn)Session Bean。開(kāi)發(fā)EJB3 Stateless Session Bean要比開(kāi)發(fā)EJB2 Stateless Session Bean容易得多,只需要幾個(gè)注釋就可以搞定。  閱讀全文

          posted @ 2009-02-08 21:50 銀河使者 閱讀(4395) | 評(píng)論 (6)  編輯

          主站蜘蛛池模板: 河南省| 富宁县| 阳山县| 浙江省| 七台河市| 昌都县| 蛟河市| 建始县| 兰西县| 嘉黎县| 襄汾县| 来宾市| 黄龙县| 安平县| 廉江市| 忻城县| 河南省| 新蔡县| 封开县| 布拖县| 保康县| 唐河县| 烟台市| 周口市| 陈巴尔虎旗| 凯里市| 松潘县| 建阳市| 玉环县| 永吉县| 普格县| 临泉县| 伊宁县| 衡山县| 西乌珠穆沁旗| 塔河县| 永顺县| 林周县| 甘泉县| 阿瓦提县| 额济纳旗|