1:EJB:
答: Enterprise Java Bean 相當(dāng)于DCOM,即分布式組件。它是基于Java的遠程方法調(diào)用(RMI)技術(shù)的,所以EJB可以被遠程訪問 (跨進程、跨計算機) 。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容器所創(chuàng)建和管理?蛻敉ㄟ^容器來訪問真正的EJB組件。
答:Enterprise java bean 容器。更具有行業(yè)領(lǐng)域特色。他提供給運行在其中的組件EJB各種管理功能。只要滿足J2EE規(guī)范的EJB放入該容器,馬上就會被容器進行高效率的管理。并且可以通過現(xiàn)成的接口來獲得系統(tǒng)級別的服務(wù)。例如郵件服務(wù)、事務(wù)管理。
2:EJB種類、作用
答: Entity Bean——用于描述一個永久的對象。
Session Bean——描述任務(wù)或者工作流的模型,并且協(xié)調(diào)Bean之間的交互。
Message-Driver Bean——用在基于J2EE應(yīng)用程序中處理異步JMS消息。
3:實體bean,CMP,BMP寫法區(qū)別?
答:CMP entity bean不需要在 bean中編寫數(shù)據(jù)庫操作的代碼;可以讓容器做這件事。
BMP entity bean在bean類中直接編寫數(shù)據(jù)庫調(diào)用,以及對固定存儲的任意類型的訪問,來管理bean的持久性。
4:主接口方法的定義與寫法?
答: 生命周期方法 建方法-該方法的返回值是bean的組件接口,寫法為creatXxx
無狀態(tài)session bean必須個且僅有一個無參的創(chuàng)建方法.
有狀態(tài)session bean必須含有至少一個創(chuàng)建方法.Entity bean可以有0至多個創(chuàng)建方法.
Finder方法-Finder方法對于entity bean有效,通過它可以在數(shù)據(jù)庫中查找到entity bean對應(yīng)的持久性數(shù)據(jù).每一個entity bean的home接口必須有一個findByPrimaryKey方法,并以實體的主鍵為參數(shù).可以定制Finder方法.Home方法-Home方法也僅對entity bean有效.Home方法能夠返回任意類型的序列化對象,但并不實際生成bean的實例.
5:主接口與組件接口的區(qū)別?
答: 主接口提供EJB客戶端對bean的訪問.定義了bean的生命周期方法,并提供了bean的基本生命周期管理功能,如創(chuàng)建,刪除,查找.message drivern bean不含有home接口.組件接口是由enterprise bean的客戶端用來取得bean的訪問能力.它定義了對于客戶端可見的業(yè)務(wù)方法.組件接口中的業(yè)務(wù)方法必須符合bean類中的實現(xiàn).
6:JMS消息傳遞的方式?
答: 點到點(point-to-point)消息通過隊列進行發(fā)送.發(fā)布與訂閱(publish-and-subscribe,pub/sub)消息通過標(biāo)題傳遞.
7:事務(wù)屬性ACID
答:原子性—— 一個事務(wù)要么完全執(zhí)行,要么根本不執(zhí)行。
一致性—— 一個事務(wù)在它完成后不能留下系統(tǒng)的不一致性。
隔離性—— 所有的事務(wù)不許允許在執(zhí)行的時候不受其他進程或者事務(wù)的干涉。
持久性—— 在事務(wù)期間,所有提交的變更數(shù)據(jù)必須寫入持久的數(shù)據(jù)存儲器,并且應(yīng)該能在硬件和軟件失效中保存下來。
8:實體Bean的三個狀態(tài):
答: no-state——Bean實例還沒有創(chuàng)建。
pooled ——Bean實例被創(chuàng)建,但還沒有和一個EJB Object關(guān)聯(lián)。
ready ——與EJB Object相關(guān)聯(lián)。若斷開關(guān)聯(lián)則回到pooled。