锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久激情亚洲精品无码?V,一本色道久久综合亚洲精品高清 ,精品国产日韩亚洲一区91http://www.tkk7.com/songfei/category/5990.html嬈㈣繋鑹沖効鐨勫姞鍏?/description>zh-cnWed, 28 Feb 2007 15:48:57 GMTWed, 28 Feb 2007 15:48:57 GMT60Weblogic EJB 瀛︿範絎旇http://www.tkk7.com/songfei/articles/23881.html澶╁椋炰粰澶╁椋炰粰Wed, 14 Dec 2005 07:33:00 GMThttp://www.tkk7.com/songfei/articles/23881.htmlhttp://www.tkk7.com/songfei/comments/23881.htmlhttp://www.tkk7.com/songfei/articles/23881.html#Feedback0http://www.tkk7.com/songfei/comments/commentRss/23881.htmlhttp://www.tkk7.com/songfei/services/trackbacks/23881.html
Weblogic EJB 瀛︿範絎旇
littleboys 鍘熷垱  (鍙備笌鍒嗭細47498錛屼笓瀹跺垎錛?30)   鍙戣〃錛?003-06-18 11:16   鐗堟湰錛?.0   闃呰錛?B>12529嬈?

EJB 瀛︿範絎旇
1銆乪jb 鍩虹鐭ヨ瘑
錛?錛?nbsp;鏃犵姸鎬佷細璇漛ean
    涓嶄繚瀛樺鎴鋒満鐨勪細璇濈姸鎬?BR>    浼樼偣錛氫嬌鐢ㄥ皬閲忕殑瀹炰緥鍗沖彲婊¤凍澶ч噺鐨勫鎴楓傛瘡涓疄渚嬮兘娌℃湁鏍囪瘑錛岀浉浜掍箣闂存槸絳変環鐨勩?BR>    絳?鐨勬棤鐘舵佷細璇漛ean錛?nbsp; 澶氭鍜屼竴嬈¤皟鐢ㄧ殑緇撴灉鍜屾晥搴旂浉鍚屻?BR>        鍦ㄩ泦緹や腑鍙互璐熻澆鍧囪  a 鏈哄櫒澶辮觸錛屽彲浠ュ湪b鏈哄櫒涓婇噸璇?BR>    闈炵瓑?鐨勬棤鐘舵佷細璇漛ean錛?nbsp;濡傦細璁℃暟鍣?BR>        涓嶈兘鑷姩鍥犳晠闅滆岃繘琛屽垏鎹€?BR>錛?錛?nbsp;鏈夌姸鎬佷細璇漛ean
    淇濆瓨瀹㈡埛鏈虹殑浼氳瘽鐘舵?BR>    鐗圭偣錛?nbsp;鍦ㄦ湁浼氳瘽鐘舵佷細璇濈殑bean渚嬪瓙涓紝鍑虹撼鍛樼殑鏁伴噺絳変簬媧誨姩鐨勯【瀹㈢殑鏁伴噺錛岃繖鍙互綆鍖栫紪紼嬫ā寮?BR>        weblogic 閫氳繃鍐呭瓨澶嶅埗鎶鏈?nbsp;鍦ㄩ泦緹や腑榪涜璐熻澆鍧囪 
            鍐呭瓨澶嶅埗鎶鏈細 姣忎釜鏈変細璇濈姸鎬佺殑bean瀹炰緥閮藉皢瀛樺偍鍦ㄤ袱涓湇鍔″櫒鐨勫唴瀛樹腑錛屼竴涓湇鍔″櫒浣滀負涓繪湇鍔″櫒錛屽彟涓涓綔涓鴻緟鍔╂湇鍔″櫒銆?BR>                         濡傛灉涓誨け璐ワ紝杈呭姪鍙樹負涓伙紝鐒跺悗鑷姩閫夋嫨鍒殑鍙敤鐨勬湇鍔″櫒浣滀負杈呭姪銆?BR>    閬楁喚錛?nbsp;寰堥毦鍦╯ervlet 鍜宩sp涓敤濂芥湁鐘舵佷細璇漛ean銆傚彲鑳戒細鍙戠敓騫跺彂鐜拌薄錛屼駭鐢烺emoteException
          weblogic 鐨?lt;allow-concurrent-calls> 鍙互灝侀攣浠諱綍騫跺彂鐨勮皟鐢ㄣ?BR>    鍚屾錛?nbsp;鍙互鏈夐夋嫨鍦板疄鐜?nbsp;javax.ejb.SessionSynchronization鎺ュ彛
          afeterBegin()         //榪涘叆浜嬪姟鏃?BR>          beforeCompletion()    //鎻愪氦浜嬪姟鍓?鐢ㄤ簬鎻愪氦鍓嶆妸緙撳瓨鐨勬暟鎹啓鍒版暟鎹簱涓?
          afterCompletion()     //鎻愪氦浜嬪姟鍚?鐢ㄤ簬閲婃斁鍏變韓璧勬簮鎴栬呮洿鏂頒簨鍔℃彁浜ゅ拰緇堟鏂歸潰鐨勭粺璁′俊鎭?
     浼氳瘽bean閫氳繃鍏?nbsp;SessionContext 瀵硅薄涓殑 getUserTransaction() 鏂規硶,鍙栧緱瀵筓serTransaction鐨勫簲鐢?BR>     閫氬父 SessionContext 琚瓨鏀懼湪鎴愬憳鍙橀噺涓?BR>     ** 璁頒綇鏄湪璋冪敤ejb.create()鏂規硶鍓嶈皟鐢?nbsp;setUserTransaction() 鏂規硶
     鍒╃敤瀵?nbsp;UserTransaction 鐨勫紩鐢ㄤ細璇濆彲浠ヤ嬌鐢?nbsp;begin() 銆乧ommit()銆乺ollback() 鏂規硶鐣屽畾涓涓簨鍔?

           
錛?錛?nbsp;瀹炰綋 bean錛?nbsp;
    瀹冩湁涓涓富鍋ヤ綔涓哄敮涓鐨勬爣璇嗙
    緇勬垚閮ㄥ垎: 鐢辨湰鍦版帴鍙c佽繙紼嬫帴鍙c乥ean綾匯佷富鍋ョ被鍜岄厤緗弿榪板櫒緇勬垚銆?BR>             鏈湴鎺ュ彛錛?BR>                 鎵╁睍浜唈avax.ejb.EJBHome鎺ュ彛錛屽寘鎷琧reate錛堬級銆乺emove錛堬級銆乫inder 鍜宧ome絳夋柟娉?BR>                 1)create錛堬級鏂規硶璋冪敤bean綾諱腑鐨別jbCreate錛堬級鏂規硶銆傜浉褰撲簬鏁版嵁鐨刬nsert 鏂規硶銆?BR>                 2)remove錛堬級鏂規硶鐩稿綋浜庢暟鎹簱鐨刣elete鎿嶄綔銆?BR>                 3)finder錛堬級鏂規硶錛屼嬌瀹㈡埛鑳藉鏌ヨ鍜屾帴鏀舵弧瓚蟲煡璇㈡潯浠剁殑瀹炰綋bean鐨勫紩鐢ㄣ傛瘡涓疄浣揵ean鐨勬湰鍦版帴鍙d腑閮藉繀欏?BR>                   鏈変竴涓猣indByPrimaryKey() 鏂規硶
                 4)home 鏂規硶錛岀被浼間簬鏃犵姸鎬佷細璇漛ean銆?BR>             涓誨仴綾伙細
                 瀹炰綋bean蹇呴』鍖呮嫭涓涓富鍋ョ被錛屼富鍋ョ被鐢ㄤ簬鏍囪瘑瀹炰綋bean瀹炰緥錛岃屼笖瀹炰綋bean鏁版嵁綾誨瀷蹇呴』鏄敮涓鐨勩?BR>                 涓誨仴綾誨彲浠ユ槸java鐨勫熀鏈被鍨婼tring Integer 涔熷彲浠ユ槸鐢ㄦ埛鑷畾涔夌殑銆?BR>                 涔熷彲浠ユ槸澶氫釜瀛楁鐨勪富鍋ョ殑澶嶅悎涓誨仴銆?BR>             bean 綾誨拰bean鐨勪笂涓嬫枃鐜錛?BR>                 瀹炵幇javax.ejb.EJBObject 鎺ュ彛,鍏朵腑鍖呭惈涓氬姟鏂規硶鐨勮娉曟牸寮忓畾涔?
                 bean 綾誨疄鐜頒簡javax.ejb.EntityBean鎺ュ彛,鍚宩avax.ejb.SessionBean鎺ュ彛涓鏍?EntityBean 鎺ュ彛鍖呭惈浜咵JB
                 瀹瑰櫒璋冪敤bean瀹炰緥鐨勮娉曟牸寮?
                 鍦╞ean鐨勬瀯閫犲櫒鎵ц涔嬪悗,绔嬪嵆璋冪敤setEntityContext() 鏂規硶,鍚屾椂鎶奲ean瀹炰緥鐨凟ntityContext 浼犻掔粰瀹?
                 bean綾誨疄鐜頒簡home鏂規硶鍜岃繙紼嬫帴鍙d腑鐨勪笟鍔℃柟娉?home鏂規硶鏄拡瀵瑰尶鍚嶅疄渚嬬殑鏂規硶涓嶅簲浣跨敤鏈夊叧鐨勪富鍋ュ?

    鍒嗕負錛?BR>    瀹瑰櫒綆$悊鎸佷箙鎬э紙Container錛峂anagerd Persistence錛塁MP
        鐗圭偣錛?nbsp;EJB 瀹瑰櫒鑷姩鐢熸垚錛岀敤浜庢妸瀹炰綋bean鐨勬暟鎹啓鍏ュ埌鏁版嵁搴撲腑銆?BR>        浼樼偣錛?nbsp;bean浣滆呭彲浠ラ伩鍏嶇紪鍐欏疄浣揵ean涓庡叧緋繪暟鎹簱鏁版嵁璁塊棶鏂歸潰鐨勪唬鐮併俢mp灝嗚嚜鍔ㄥ鐞嗚繖涓榪囩▼銆?BR>        涓?  姣忎竴涓猚mp 瀹炰綋bean 閮芥湁涓緇勫鍣ㄧ鐞嗙殑瀛楁,榪欎簺瀛楁瀛樺偍鍦ㄦ暟鎹簱,騫跺彲浠庝腑鍔犺澆.閫氬父,姣忎釜瀹瑰櫒綆$悊鐨勫瓧孌甸兘瀵瑰簲浜?BR>              鍏崇郴鏁版嵁搴撲腑鐨勪竴涓垪.
              瀹瑰櫒綆$悊鐨勬瘡涓瓧孌靛繀欏誨湪ejb-jar.xml涓畾涔?榪欎嬌瀹瑰櫒鑳藉鎶婂鍣ㄧ鐞嗙殑瀛楁涓巄ean綾諱腑鐨剆et鍜実et鏂規硶榪涜鍖歸厤姣旇緝.
              鍙﹀,bean浣滆呭彲浠ュ鍔犲彟澶栦竴涓猚mp閰嶇疆鎻忚堪鏂囦歡 weblogic-cmp-rdbms.xml,鍏朵腑鍖呭惈鏁版嵁搴撹〃鍚嶅拰姣忎釜瀹瑰櫒綆$悊鐨勫瓧
              孌靛拰鐩稿簲鐨勬暟鎹垪鐨勬槧灝?

    bean綆$悊鎸佷箙鎬э紙Bean錛峂anagerd Persistence 錛?nbsp;BMP
        鐗圭偣錛?nbsp;鍦╞mp瀹炰綋涓紝bean浣滆呴渶瑕佽嚜宸辯紪鍐欐暟鎹簱璁塊棶浠g爜錛屼篃灝辨槸緙栧啓JDBC浠g爜錛屾彃鍏ャ佸垹闄ゅ拰鏌ヨ鏁版嵁搴撲腑鐨勫疄浣揵ean鏁版嵁銆?BR>        浼樼偣錛?nbsp;鍙互璁゜ean鐨勪綔鑰呭畬鍏ㄧ伒媧葷殑澶勭悊瀹炰綋bean鐨勬寔涔呮ф暟鎹紝鍥犱負浣滆呴渶瑕佸啓鏁版嵁璁塊棶鐨勪唬鐮侊紝浠栧嚑涔庡彲浠ヤ嬌鐢ㄤ換浣曟寔涔呮у瓨
              鍌ㄦ柟寮廵jb2.0 cmp鎻愪緵瀹炰綋bean涔嬮棿鐨勬爣鍑嗗叧緋繪槧灝勶紝浣垮鍣ㄨ兘鑷姩綆$悊涓氬姟瀵硅薄涔嬮棿鐨勪氦浜掋?BR>              cmp鎷ユ湁鏇村鐨勮闂帶鍒訛紝鍥犳cmp姣攂mp鏈夎緝濂界殑鎬ц兘銆?BR>
錛?錛?nbsp;娑堟伅 bean
    鎶奐MS 鍜孍JB 鎴愬姛緇撳悎鍦ㄤ竴璧鳳紝闆嗘垚鐨勭粨鏋?BR>    鐗圭偣錛氬鎴鋒満涓嶉渶瑕佽皟鐢ㄦ秷鎭痓ean 鐩稿弽錛?nbsp;瀹㈡埛鏈哄彧闇瑕佸彂涓涓秷鎭粰jMS鐩殑銆?BR>    鍦ㄦ秷鎭埌杈句互鍚庯紝娑堟伅bean鐨刼nmessage錛堬級鏂規硶灝嗚璋冪敤錛屼互澶勭悊榪欎釜娑堟伅銆?BR>    娑堟伅bean鐢ㄤ簬鍦ㄦ湇鍔″櫒涓墽琛屽紓姝ユ搷浣溿?BR>
2銆侲JB 緇勬垚
錛?錛夎繙紼嬫帴鍙?BR>    public interface HelloWord extents EJBObject
    锝?BR>        //EJBObject 鎺ュ彛鏂規硶
         EJBHome getEJBHome() throws RemoteException;

        Object getPrimaryKey() throws RemoteException;

        void remove() throws RemoteException, RemoveException;

        Handle getHandle() throws RemoteException;

        boolean isIdentical(EJBObject ejbObject) throws RemoteException;
    锝?BR>錛?錛夋湰鍦版帴鍙?BR>    鏈湴鎺ュ彛鏄痚jb宸ュ巶錛屽鎴鋒満鍙互浣跨敤鏈湴鎺ュ彛鍒涘緩銆佹壘鍑哄拰鍒犻櫎ejb瀹炰緥銆傚彧闇鍐欐湰鍦版帴鍙d腑鐨勬柟娉曠殑璇硶璋冪敤鏍煎紡
    public class HelloWorldHome extends EJBHome
    锝?BR>        //EJBHome 鎺ュ彛鏂規硶
        void remove(Handle handle) throws RemoteException, RemoveException;

        void remove(Object o) throws RemoteException, RemoveException;

        EJBMetaData getEJBMetaData() throws RemoteException;

        HomeHandle getHomeHandle() throws RemoteException;
        // Home
        public HelloWorld create() throws CreateException, RemoteException;
    锝?BR>
錛?錛塨ean 綾?BR>    
    public class HelloWorldBean implements SessionBean
    锝?BR>        // SessionBean 涓殑鏂規硶
        public void setSessionContext(SessionContext sessionContext) 
        /**璋冪敤嬈℃柟娉曚細璇濈粨鏉?/
        public void ejbRemove() 
            //ejb閫氳繃寰呭懡鍜屾椿鍔ㄧ殑鏈哄埗錛岀鐞嗕竴緇勬鍦ㄥ伐浣滅殑鏈夌姸鎬佷細璇漛ean瀹炰緥
        /**媧誨姩*/
        public void ejbActivate() 
        /**寰呭懡*/
        public void ejbPassivate() 
        // bean綾?BR>        // 姣忎釜home 鐨刢reate 鏂規硶瀵瑰簲涓涓猠jbCreate錛堬級鏂規硶
        // 鏈変細璇濈姸鎬佹湁寰堝涓嶅悓鐗堟湰鐨刢reate錛堬級鏂規硶銆傝宑reate 鏂規硶蹇呴』鏈塭jbCreate錛堬級鏂規硶涓庝箣涓涓瀵瑰簲
        public void ejbCreate()


    锝?BR> 
    涓嶈鍦╡jb綾諱腑綾諱腑瀹炵幇榪滅▼鎺ュ彛
3. EJB 閰嶇疆鎻忚堪鍣?BR>錛?錛塭jb錛峧ar.xml
<ejb-jar> (娉ㄩ噴)  
    <enterprise-beans>     
        <session>
            <ejb-name>HelloWorld錛坋jbname錛?lt;/ejb-name>
            <home>com.dhc.helloworld.HelloWorldHome錛堟湰鍦版帴鍙g被錛?lt;/home>
            <remote>com.dhc.helloworld.HelloWorld錛堣繙紼嬫帴鍙g被錛?lt;/remote>
            <ejb-class>com.dhc.helloworld.HelloWorldBean錛坆ean綾伙級</ejb-class>
            <session-type>Stateless錛堟棤鐘舵佷細璇濓級</session-type>
            <transaction-type>Bean錛坆ean綆$悊鐨勪簨鍔★級</transaction-type>     
        </session>
    </enterprise-beans>
    <container-transaction>
        <method>
            <ejb-name>ShoppingCartEjb</ejb-name>
            <method-name>*錛堣鏄嶴hoppingCartEjb鐨勯粯璁や簨鍔″睘鎬ф寚瀹氫負Required錛?lt;/method-name>
        </method>
        <trans-attribute>Required錛堝鍣ㄧ鐞嗙殑浜嬪姟浣跨敤鐨勫睘鎬?nbsp;Nerver銆丯otSupported
        銆丼upports銆丮andatory銆丷equired銆丷equiredNew錛?lt;/trans-attribute>
    </container-transaction>
</ejb-jar>
錛?錛墂eblogic-ejb-jar.xml (娉ㄩ噴)
<weblogic-ejb-jar>   
    <weblogic-enterprise-bean>
        <ejb-name>HelloWorld錛坋jb鍚嶇О錛?lt;/ejb-name>
        <jndi-name>HelloWorldEJB錛坖ndi鍚嶇О錛?lt;/jndi-name>
        <max-bean-in-freepool>10錛堥檺鍒朵笉浼氭湁瓚呰繃10涓棤鐘舵佷細璇漛ean騫跺彂榪愯錛?lt;/max-bean-in-freepool>
        <max-bean-in-cache>10錛堟斁鍒板唴瀛樼紦瀛樹腑鐨勬湁鐘舵佷細璇漛ean鐨勬渶澶ф暟閲忥級</max-bean-in-cache>
    </weblogic-enterprise-bean>
</weblogic-ejb-jar>  

4 . 寤虹珛ejb 妗f鏂囦歡
com/dhc/helloworld/錛坧ackage錛?BR>com/dhc/helloworld/HelloWorld錛堣繙紼嬫帴鍙o級
com/dhc/helloworld/HelloWorldHome錛堟湰鍦版帴鍙o級
com/dhc/helloworld/HelloWorldBean錛坆ean綾伙級
META-INF
META-INF/ejb錛峧ar.xml錛堥厤緗弿榪板櫒錛?BR>META-INF/weblogic-ejb-jar.xml錛坵eblogic鏈嶅姟鍣ㄩ厤緗弿榪板櫒錛?BR>
璇存槑錛?nbsp;META-INF 蹇呴』涓哄ぇ鍐?BR>
5 . 瀹瑰櫒綆$悊鐨勪簨鍔?BR>Nerver :        涓嶅弬涓庝簨鍔?濡傛灉鍙備笌浜х敓RemoteException
NotSupported:   涓嶈兘鍙備笌
Supports:       濡傛灉璋冪敤鑰呮鍦ㄥ弬涓庝簨鍔?鐩稿簲鐨凟JB璋冪敤涔熷彲浠ュ弬涓庝簨鍔?鍚﹀垯涓嶈兘
Mandatory       濡傛灉璋冪敤鑰呮湁涓涓簨鍔?鐩稿簲鐨凟JB鍙互鍙備笌浜嬪姟,鍚﹀垯,TransactionRequiredException
Required        濡傛灉璋冪敤鑰呮湁涓涓簨鍔?鐩稿簲鐨凟JB鍙互鍙備笌浜嬪姟,鍚﹀垯,瀹瑰櫒灝嗗湪璋冪敤鐩稿簲鐨凟JB涔嬪墠,寮濮嬩竴涓簨鍔?
                褰撴柟娉曡皟鐢ㄥ畬鎴愪互鍚?鍗蟲彁浜よ浜嬪姟.
RequiresNew     鍦ㄨ皟鐢ㄧ浉搴旂殑EJB涔嬪墠,寮濮嬩竴涓柊鐨勪簨鍔?褰撴柟娉曡皟鐢ㄨ繑鍥炴椂,鍗蟲彁浜よ繖涓簨鍔?


6銆乪jb 寮曠敤

鍦╡jb錛峧ar.xml
<ejb-ref>
    <description> an EJB reference to the Widget EJB(鎻忚堪)</description>
    <ejb-ref-name>ejb/WidgetEJB</ejb-ref-name>
    <ejb-ref-type>session</ejb-ref-type>
    <home>com.dhc.WidgetHome</home>
    <remote>com.dhc.Widget</remote>
</ejb-ref>

鍦?nbsp;weblogic-ejb-jar.xml 
<ejb-reference-description>
    <ejb-ref-name>ejb/WidgeEJB</ejb-ref-name>
    <jndi-name>DeployedWidge</jndi-name>
</ejb-reference-description>

紼嬪簭
Content ctx = new InitialContent();
Object h = ctx.lookup("java:/comp/env/ejb");    //鐜鍙橀噺鏄彧璇葷殑,鑰屼笖鏄綋鍓峞jb鐨勬湰鍦板彉閲?
WidgetHome home = (WidgetHome)PortableRemoteObject.narrow(h,WidgeHome.class);

7. 璧勬簮綆$悊鍣ㄧ殑寮曠敤
瀹氫箟璧勬簮綆$悊鐨勫紩鐢?BR>渚嬪瓙錛?nbsp;寤虹珛 jdbc銆丏BPool涓嶫DBC鏁版嵁婧愮殑鏄犲皠
鍦╡jb錛峧ar.xml
<resource-ref>
    <description>(鎻忚堪)</description>
    <res-ref-name>jdbc/BDPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

鍦?nbsp;weblogic-ejb-jar.xml 
<resource-description>
    <res-ref-name>jdbc/DBPool</res-ref-name>
    <jndi-name>DBPool</jndi-name>
</resource-description>

config.xml

<JDBCTxDataSource 
    name="DBPool"
    Targets="myserver"
    JDDIName="DBPool" (jndi鍚嶇О)
    PoolName ="DevelopmentPool"
/>

寮曠敤鐨勪紭鐐?BR>鎴戜滑鐢ㄥぇ閲忕殑鏄犲皠鍜岄厤緗紝鎵嶅緩绔嬩簡璧勬簮綆$悊鍣ㄧ殑寮曠敤錛屼絾鏄繕鏄緢鍊煎緱鐨勩?BR>浠ヤ負渚夸簬閮ㄧ講浜哄憳閲嶆柊閰嶇疆搴旂敤鑰屼笉闇瑕佷慨鏀瑰疄闄呯殑bean綾諱唬鐮併傜敋鑷充篃涓嶉渶瑕佷慨鏀筫jb鐨勯厤緗弿榪板櫒
java bean 浠g爜

Content ctx = new InitialContent();
DataSource dataSource = (DataSource)ctx.lookup("java:/comp/env/jdbc/DBPool");

8 . 鍙ユ焺錛?nbsp;浣滀負涓涓覆琛屽寲鐨勫璞★紝鍙ユ焺涓皝瑁呬簡瓚沖鐨勪俊鎭紝浠ヤ究閲嶅緩瀵笶JBObject鐨勫紩鐢ㄣ?BR>鍙ユ焺鍙敤浜庡湪涓や釜鐩鎬簰鍚堜綔鐨勮繘紼嬩腑浼犻扙JBObject鐨勫紩鐢ㄣ傛帴鍙楄繘紼嬪嵆鍙粠鍙ユ焺涓彇寰桬JBObject鐨勫紩鐢ㄣ?BR>
涓轟簡鍙栧緱鍙ユ焺錛屽彲浠ヨ皟鐢‥JBObject鎺ュ彛鐨刧etHandle錛堬級鏂規硶錛岃繑鍥炰竴涓狧andle瀹炰緥
涓轟簡閲嶅緩EJBObject 寮曠敤銆傚彲浠ヤ嬌鐢℉andle 鎺ュ彛鐨刧etEJBObject錛堬級鏂規硶銆?BR>
渚嬪瓙錛?BR>    HelloWorld hw = home.create();
    javax.ejb.Handle handle = hw.getHandle();
    HelloWorld helloworld = (HelloWorld)PortableRemoteObject.narrow(handle.getEJBObject(),HelloWorld.class);

 
 HomeHandle:
    綾諱技handle 錛屼絾涓嶈兘鐢ㄤ簬寮曠敤EJBObject
    HomeHandle 鍖呭惈瓚沖鐨勪俊鎭紝鍙互閲嶅緩EJBHome錛堬級鐨勫紩鐢ㄣ?BR>    宸紓錛?BR>        鏄皟鐢?nbsp;getHomeHandle錛堬級鏂規硶 鍜実etEJBHome錛堬級鏂規硶
 渚嬪瓙鐗囨柇錛?BR>     Content ctx 錛?nbsp;new InitialContext();
     Object h = ctx.lookup("HelloWorldEJB");
     HelloWorldHome home = (HelloWorldHome)PortableRemoteObject.narrow(h,HelloWorldHome.class);
     HomeHandle homehandle = home.getHomeHandle();
     Object nh = homehandle.getEJBHome();
     HelloWorldHome newHomeReference = (HelloWorldHome)PortableRemoteObject.narrow(nh,HelloWorldHome.class);

 浼樼偣:
     浠栦滑鍙互鑷姩鐨勫瓨鍌ㄩ噸寤哄紩鐢ㄦ墍闇鐨勪俊鎭?BR>
9.浣跨敤浜嬪姟鐨勬妧宸?
(1) 涓涓簨鍔′笉瑕佹秹鍙婂お澶氱殑鎿嶄綔.
(2) 瀹瑰櫒綆$悊鍜宐ean綆$悊鐨勪簨鍔?BR>    浜嬪姟鏃㈣楄垂搴旂敤鏈嶅姟鍣ㄤ腑鐨勮祫婧?鍙堣楄垂鏁版嵁搴撹祫婧?鎵浠ヤ簨鍔¤秺鐭秺濂?
    灝介噺浣跨敤瀹瑰櫒綆$悊浜嬪姟鑰屼笉瑕侀噰鐢╞ean綆$悊浜嬪姟鐨勬柟寮?
(3) ejb閬囧埌閿欒,闇瑕佸己鍒朵簨鍔″洖婊? 浣跨敤EJBObject.setRollbackOnly();
(4) 涓嶈兘璁╀簨鍔℃秹鍙妛eb灞傚拰琛ㄧず閫昏緫
(5) 浼佷笟搴旂敤涓笉搴斿綋閫夌敤supports 浜嬪姟灞炴?鍥犱負鍙湁璋冪敤鑰呭紑濮嬩竴涓簨鍔″悗,ejb鎵嶈兘鍦ㄤ簨鍔′腑榪愯.
鍩轟簬weblogic 鐨別jb 瀛︿範絎旇錛堜簩錛?BR>
緙栬緫瀹炰綋bean鐨勯珮綰ц紼?BR>1. 鎬庢牱寮鍙戜富鍋ョ被
ejb鐨勪富鍋ョ被涓昏鐢ㄥ仛鎸佷箙瀛樺偍鍜宔jb瀹瑰櫒涓殑鍞竴鏍囪瘑絎?
閫氬父涓誨仴綾葷殑瀛楁鐩存帴鏄犲皠鍒版暟鎹簱涓殑涓誨仴瀛楁.
濡傛灉涓誨仴鍙槸鐢卞崟涓疄浣揵ean瀛楁緇勬垚.涓斿叾鏁版嵁綾誨瀷鏄熀鏈殑java綾?濡俿tring,鍒檅ean浣滆呬笉蹇呭紑鍙戣嚜瀹氫箟鐨勪富鍋ョ被.
鍙渶瑕佸湪閰嶇疆鎻忚堪鍣ㄤ腑鎸囧畾綾葷殑鍚嶅瓧鍜屼富鍋ュ瓧孌靛嵆鍙?BR>
濡傛灉鎶婁富鍋ユ槧灝勫埌涓涓敤鎴峰畾涔夌殑綾誨瀷,鎴栬呮槧灝勫埌澶氫釜瀛楁,鍒檅ean鐨勪綔鑰呭繀欏誨啓鍑鴻嚜瀹氫箟鐨勪富鍋ョ被.

涓誨仴綾誨繀欏誨疄鐜?nbsp;java.io.serializable,鑰屼笖鍖呭惈涓誨仴瀛楁.

瀵逛簬cmp,瀛楁鍚嶅繀欏誨尮閰嶅疄浣揵ean涓殑鐩稿簲鐨勪富鍋ュ瓧孌靛悕,榪欏皢浣縠jb瀹瑰櫒鑳藉鎶婇傚綋鐨刢mp瀛楁璧嬪煎埌涓誨仴綾諱腑鐨勭浉搴斿瓧孌典腑.

2. 瀹炵幇hashcode()鏂規硶
hashcode() 鏂規硶鐨勫疄鐜板師鐞嗘槸,鍒╃敤涓誨仴瀛楁,緇忛傜殑澶勭悊鍚?鐢熸垚騫惰繑鍥炰竴涓暣鏁? 榪欎釜鐢熸垚鐨勬暣鏁扮О涓烘暎鍒楃爜,鐢ㄤ綔琛ㄦ牸鐨勭儲寮?
瀵逛簬涓涓粰瀹氱殑涓誨仴,hashcode()鏂規硶鐨勮繑鍥炲煎簲褰撴繪槸涓鏍風殑. 甯歌鍋氭硶: 鎵ц"寮傛垨" 鎿嶄綔.

3. 瀹炵幇 equals() 鏂規硶
 姝g‘鍦板疄鐜癳quals()鏂規硶涔熼渶瑕佷竴瀹氱殑鎶宸? 浠諱綍equals() 鏂規硶鐨勭涓琛岄兘搴斿綋媯鏌ヤ紶閫掕繘鏉ョ殑寮曠敤鏄惁鏄?this", 媯鏌quals()
 鏂規硶鏄惁鏄拡瀵硅嚜宸辯殑璋冪敤. 閫氬父鍋氭硶: 褰撳鍣ㄦ湁涓涓富鍋ュ璞℃椂,濂硅媯鏌ヨ繖涓富鍋ュ璞℃槸鍚﹀凡緇忓瓨鍦ㄤ簬鏁版嵁緇撴瀯涓?

 鎺ョ潃,equals() 鏂規硶闇瑕佹鏌ヤ紶閫掕繘鏉ョ殑涓誨仴綾葷殑綾誨瀷. 濡傛灉涓誨仴綾繪槸涓戶綾?final),鍙互浣跨敤instanceof 榪涜綆鍗曠殑媯鏌?
 鍚﹀垯,浼犻掕繘鏉ョ殑鍙傛暟涔熻鏄富鍋ョ被鐨勫瓙綾?鍦ㄨ繖縐嶆儏鍐典笅,equals() 鏂規硶蹇呴』浣跨敤getClass.equals, 浠ョ‘淇濈被鐨勭被鍨嬫槸鍖歸厤鐨?BR>
 寤鴻涓誨仴綾婚噰鐢ㄧ粓鏋佺被. (instanceof 鏁堢巼瑕侀珮涓浜?

 鏈鍚?equals() 鏂規硶闇瑕侀渶瑕佹瘮杈冧紶閫掕繘鏉ョ殑瀵硅薄鐨勬墍鏈夊? 濡傛灉鎵鏈夊兼槸鐩稿悓鐨?璇存槑瀵硅薄涔熸槸鐩稿悓鐨?BR> 娉ㄦ剰: 瑕佸厛姣旇緝鏁e垪鐮?

 4 瀹炰綋bean鐨勭戶鎵垮拰寮傛瀯
   瀹炰綋bean 鍙互鍒╃敤java鐨勭戶鎵垮拰寮傛瀯鐨勭壒鎬?

5. 緇ф壙鐨勯檺鍒?BR>灝界ejb 瑙勮寖鍏佽緇勪歡涔嬮棿鐨勭戶鎵?浣嗗娓鎬竴浜涚粏寰殑瑙勫垯闄愬埗浜嗘庢牱璁捐鍜屽疄鐜頒竴涓戶鎵跨殑ejb.
 ejb鐨勮鍒欒姹?鏈湴鎺ュ彛鐨刢reate() 鏂規硶榪斿洖鐨勮繙紼嬫帴鍙d笉鑳芥槸涓涓瓙綾?涔熶笉鑳芥槸瓚呯被. 瀹炰綋bean 鐨別jbreate() 鏂規硶涔?BR> 蹇呴』榪斿洖涓誨仴綾誨瀷,涔熶笉鑳芥槸涓涓瓙綾?涔熶笉鑳芥槸瓚呯被.
綾諱技鐨刦indByPrimaryKey()鏂規硶蹇呴』浣跨敤涓誨仴綾誨瀷浣滀負鍙傛暟榪斿洖榪滅▼鎺ュ彛.
榪欎簺瑕佹眰闄愬埗浜哹ean浣滆呭緇ф壙鐨勫疄鐜?

6. 緇ф壙鍜屽紓鏋勭殑璁捐妯″紡

娉ㄦ剰: 鍏鋒湁緇ф壙鍜屽紓鏋勭壒鎬х殑瀹炰綋bean,寰堥噸瑕佷竴鐐瑰氨鏄紜畾涓鑸儏鍐典笅絀剁珶閮介渶瑕佷嬌鐢ㄥ摢涓浜涘睘鎬?

7 . 鎺ュ彛鐨勭戶鎵?BR>
閫氳繃bean綾葷殑緇ф壙鎬?bean浣滆呭彧闇瑕佸湪涓涓湴鏂瑰疄鐜頒笟鍔℃柟娉?鍏跺畠瀹炰綋bean灝卞彲浠ュ叡浜被涓殑鏂規硶浜?

8 浣跨敤澶氫釜bean綾?BR>  涓烘湰鍦板拰榪滅▼鎺ュ彛鍒涘緩涓涓熀鏈帴鍙?涓嶆槸杈懼埌寮傛瀯鍏變韓鐨勫敮涓鏂規硶. 鍙︿竴涓父瑙佺殑鍋氭硶鏄?BR>  浣跨敤絳夊悓鐨勬湰鍦板拰榪滅▼鎺ュ彛,浣嗛噰鐢ㄤ笉鍚岀殑bean綾誨疄鐜板叾涓殑涓氬姟鏂規硶.
  榪欑鍋氭硶綾諱技浜庝嬌鐢ㄤ竴涓叿鏈夎嫢騫蹭笉鍚屽疄鐜扮殑鎺ュ彛. 
  濂藉: 瀹㈡埛涓嶇煡閬撴垨鏍規湰涓嶇姝e湪浣跨敤鍝竴縐嶅疄鐜?瀹㈡埛鏈哄彧瀵規帴鍙h繘琛屾搷浣?

9. 瀹炰綋bean 涓庨攣

    瀹炰綋bean 涓嶆槸鍙噸鍏ョ殑鎴栧綰跨▼鐨勭粍浠訛紝姣忎釜瀹炰綋bean瀹炰緥涔熸病鏈夊綰跨▼鎺у埗鐨勮兘鍔涖?BR>涓嬈″疄浣揵ean 綾諱腑鐨勬柟娉曚篃涓嶆槸鍚屾鍖栫殑銆?BR>    瀹炰綋bean瀹炰緥涓嶈兘鏄綰跨▼鐨勶紝鎵浠jb瀹瑰櫒蹇呴』涓茶鍦版墽琛屾墍鏈夌殑瀹瑰櫒鏂規硶鍜屼笟鍔℃柟娉曘?BR>榪欐剰鍛崇潃褰撲笟鍔℃柟娉曟鍦ㄦ墽琛屾椂錛宔jb瀹瑰櫒涓嶈兘鍐嶈皟鐢ㄥ叾瀹冩柟娉曪紝姣斿 ejbPassivate錛堬級鏂規硶銆?BR>
    騫跺彂鎺у埗錛?BR>        涓縐嶅仛娉曟槸瀵規瘡涓涓簨鍔¢兘嬋媧誨疄浣揵ean瀹炰緥銆傚悓榪囨暟鎹簱鐨勮闂攣鐨勬柟寮忚繘琛屽茍鍙戝鐞嗐?BR>        涓縐嶆柟娉曟槸錛屾瘡涓涓富鍋ュ彧淇濇寔涓涓疄浣揵ean瀹炰緥錛岃繖鏍蜂竴嬈″彧鏈変竴涓簨鍔″彲浠ヨ闂疄浣揵ean銆備竴鏃?BR>            鍓嶄竴涓簨鍔℃彁浜ゆ垨鍥炴粴錛屾墠鍏佽鍙︿竴涓簨鍔′嬌鐢ㄨ繖涓疄浣揵ean瀹炰緥銆?BR>    騫跺彂鎺у埗絳栫暐錛?BR>        鏁版嵁搴撳茍鍙戞帶鍒訛細
            闄ら潪鐗瑰埆鎯呭喌錛屽簲灝介噺浣跨敤榛樿鐨勬暟鎹簱騫跺彂鎺у埗銆?BR>        鎺掑畠鎬у茍鍙戞帶鍒訛細


]]>
主站蜘蛛池模板: 亚洲熟妇av午夜无码不卡| 1区1区3区4区产品亚洲| 黄色一级毛片免费看| 国产精品二区三区免费播放心 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲欧美国产国产一区二区三区| 一级毛片视频免费| 亚色九九九全国免费视频| 狠狠色婷婷狠狠狠亚洲综合| 四虎成人精品国产永久免费无码| 亚洲美女视频免费| 亚洲乱码日产精品BD在线观看| 抽搐一进一出gif免费视频| 国产亚洲欧洲Aⅴ综合一区| 国产性生大片免费观看性| 亚洲自偷自偷精品| 五月婷婷综合免费| 亚洲av永久无码| 亚洲另类激情专区小说图片| a级精品九九九大片免费看| 亚洲视频一区在线观看| 91免费精品国自产拍在线不卡| 久久噜噜噜久久亚洲va久| 最近中文字幕2019高清免费| 亚洲久悠悠色悠在线播放| 国产免费爽爽视频免费可以看| wwwxxx亚洲| 亚洲成av人片天堂网老年人| 亚洲成年网站在线观看| 人人狠狠综合久久亚洲高清| 亚洲熟女综合一区二区三区 | 久久国内免费视频| 日韩精品一区二区亚洲AV观看| 永久免费无码网站在线观看个| 日本一区免费电影| 亚洲成a人片在线不卡一二三区| 香蕉97超级碰碰碰免费公| 亚洲三级在线播放| 国产精品成人免费福利| 羞羞视频免费网站含羞草| 国产精品免费播放|