ÄãµÄλÖãºÈí¼þ> Éè¼ÆÔÚÏß> ÍøÒ³ÌÕ°É> ¼¼Êõƽ̨> HTMLѧϰ>
¿ª·¢EJB£¨ÉÏ£©
2000-07-25 00:00:00¡¤ ilamei¡¤yesky

ÏÖÔÚ£¬´ÓÈçϼ¸¸ö·½ÃæÀ´½éÉÜEnterprise beanµÄ¿ª·¢£º

    ¿ª·¢EJBµÄÖ÷Òª¹Ø¼üµÄ²½Öè¡£

    ÈçºÎʹÓÃʹÓÃJbuilder¡£

    ʹÓÃJbuilderÖ®ÍâµÄÆäËüµÄ¿ª·¢¹¤¾ß¡£

    ÈçºÎ¿ª·¢Eneterprise BeansµÄÏêϸµÄϸ½Ú¡£

    Ŀǰ¿ª·¢³ÌÐòµÄÏÞÖÆ¡£

    ¿ª·¢EJBµÄÖ÷Òª²½Ö裺

Ò»°ãÀ´Ëµ£¬Õû¸öµÄ¿ª·¢²½Ö裨¿ª·¢£¬ÅäÖã¬×é×°£©°üÀ¨Èçϼ¸¸ö·½Ã棺

    ¿ª·¢£ºÊ×ÏÈÒª¶¨ÒåÈý¸öÀࣺBeanÀà±¾Éí£¬BeanµÄ±¾µØ£¨Home£©ºÍÔ¶³Ì£¨Remote£©½Ó¿ÚÀà¡£

    ÅäÖãºÅäÖðüÀ¨²úÉúÅäÖÃÃèÊöÆ÷--ÕâÊÇÒ»¸öXMLÎļþ¡¢ÉùÃ÷ÁËEnterprise BeanµÄÊôÐÔ¡¢°ó¶¨ÁËbeanµÄclassÎļþ£¨°üÀ¨stubÎļþºÍskeletonÎļþ£©¡£×îºó½«ÕâЩÅäÖö¼·Åµ½Ò»¸öjarÎļþÖС£»¹ÐèÒªÔÚÅäÖÃÆ÷Öж¨Òå»·¾³ÊôÐÔ¡£

    ×é×°Ó¦ÓóÌÐò£º°üÀ¨½«Enterprise beans°²×°µ½Server·þÎñÆ÷ÖУ¬²âÊÔ¸÷²ãµÄÁ¬½ÓÇé¿ö¡£³ÌÐò×é×°Æ÷½«Èô¸É¸öEnterprise BeansÓëÆäËüµÄ×é¼þ£¨Servlet,Applet,ScriptµÈµÈ£©½áºÏÆðÀ´¡£×éºÏ³ÉÒ»¸öÍêÕûµÄÓ¦ÓóÌÐò¡£»òÕß½«Èô¸É¸öEnterprise beans×éºÏ³ÉÒ»¸ö¸´ÔÓµÄEnterprise Bean¡£

    ¹ÜÀíEnterprise Bean¡£

¶þ¡¢Ê¹ÓÃJbuilder£º

JbuilderÓëEJB ContainerÄܹ»½øÐÐÎÞ·ìÁ¬½Ó¡£JbuilderºÍInpriseµÄÓ¦Ó÷þÎñÆ÷°üÀ¨ÁËËùÓеĿª·¢ºÍÅäÖÃEnterprise BeansµÄ¹¤¾ßÒÔ¼°ËùÐèÒªµÄ¿â£º

    ÔËÐк͹ÜÀíEnterprise BeanµÄÈÝÆ÷¡£

    ÃüÃû·þÎñ¡£

    ÊÂÎñ·þÎñ¡£

    JavaÊý¾Ý¿â¡£

    ¿ª·¢Enterprise BeansËùÐèÒªµÄAPI¡£

    Ò»¸öÔöÇ¿µÄjava-to-iiop±àÒëÆ÷£¬Ö§³ÖÖµÀàÐͺÍRMIÐźš£

Jbuilder»¹ÌṩÁËÒ»¸ö¿ìËÙ¿ª·¢Ó¦ÓóÌÐòEnterprise BeansµÄ¹¤¾ßºÍÏòµ¼¡£Í¨¹ý¼òµ¥¶øÇÒÖ±¹ÛµÄ²½Ö裬Ïòµ¼°ïÖúÄ㽨Á¢Ò»¸öEnterprise Bean¡£×Ô¼ºÉ趨ijЩȱʡֵ£¬²úÉúÁËbeanµÄÄ£°å£¬ÔÚÉÏÃæ£¬ÎÒÃÇ¿ÉÒÔÔö¼ÓÎÒÃÇ×Ô¼ºµÄÓ¦ÓÃÂß¼­¡£

JbuilderÒ²ÌṩÁËÒ»¸öEJBµÄ½Ó¿ÚÉú³ÉÏòµ¼¡£Ïòµ¼ÔÚEnterprise BeanµÄ¹«¹²·½·¨»ù´¡ÉÏÉú³ÉÁËRemote½Ó¿ÚºÍHome½Ó¿Ú¡£Jbuilder»¹Ìṩһ¸öÅäÖÃÆ÷µÄÏòµ¼°ïÖúÎÒÃÇÖ𲽵Ľ¨Á¢XMLÃèÊöÆ÷Îļþ¡£²¢½«Éú³ÉµÄStubs¼¯Öе½Ò»¸öjarÎļþÖС£

Èý¡¢Ê¹ÓÃJbuilderÖ®ÍâµÄ¼¯³É»·¾³£º

Èç¹ûÄãʹÓÃÆäËüµÄ³ýÁ˱ðµÄ¼¯³É»·¾³£¨IDE£©¡£ÒªÈ·¶¨Ê¹ÓÃÁ˼¯³É»·¾³IDEËù´øµÄÈÝÆ÷¹¤¾ß¡£Ò²ÒªÑéÖ¤IDEÊÇ·ñÖ§³ÖEJB¹æ·¶µÄÏ µÄ°æ±¾£¬»¹ÒªÈ·¶¨ËüÊÇ·ñÕýÈ·µÄÖ§³ÖEJBµÄAPI¡£

Ҫȷ¶¨JDµ½ËùÖ§³ÖµÄEJBÈÝÆ÷µÄ°æ±¾¡£¿ÉÒÔͨ¹ý¼ì²éInpriseµÄ°²×°ËµÃ÷À´È·¶¨EJBÈÝÆ÷ËùÖ§³ÖµÄÖ§³ÖJDKµÄ°æ±¾¡£

ÔÚÅäÖÃEnterprise BeanµÄʱºò£¬Äã±ØÐëʹÓÃInpriseµÄÓ¦Ó÷þÎñÆ÷ËùÌṩµÄ¹¤¾ß¡£ÕâЩ¹¤¾ßÄܹ»±à¼­ºÍÐ޸ĵÚÈý·½µÄ´úÀíÉÌÌṩµÄInpriseÅäÖÃÃèÊöÆ÷¡£»¹Äܹ»ÑéÖ¤ÅäÖÃÃèÊöÆ÷£¬Äܹ»ÑéÖ¤beanµÄÔ´´úÂë¡£

ËÄ¡¢Enterprise BeansµÄ¿ª·¢£º

ÕâÒ»½ÚÎÒÃÇÖ÷ÒªÌÖÂÛEnterprise beanµÄÌṩÕßÒª¿ª·¢enterprise bean±ØÐëÍê³ÉµÄÈÎÎñÉÏÃæ¡£ÕâЩÈÎÎñ°üÀ¨£º

    ¶¨ÒåºÍ±àдEnterprise beanÀࣺÕâÊÇEnterprise beanÄÚ²¿Ó¦ÓÃÂß¼­µÄʵÏÖ¡£

    ±àдEnterprise beanµÄÔ¶³Ìremote½Ó¿ÚÀà¡£

    ±àдEnterprise beanµÄ±¾µØhome ½Ó¿ÚÀà¡£

    ˵Ã÷Ö÷¼üÀ࣬Ö÷¼üÀàÖ»ÊǶÔÓÚEntity bean²ÅÐèÒªµÄ¡£ÔÚEnterprise beanµÄÅäÖÃÃèÊöÆ÷ÖÐÖ¸¶¨Ö÷¼üµÄÃû×Ö¡£

Enterprise beansÌṩÕß¶¨ÒåÁËÔ¶³Ì£¨Remote£©½Ó¿ÚºÍ±¾µØ£¨home£©½Ó¿Ú£¬ÊµÏÖÁËEnterprise beanÀà±¾Éí¡£Remote½Ó¿ÚÖÐÌṩÁ˿ͻ§µ÷ÓÃEnterprise beanʵÏÖµÄÓ¦ÓÃÂß¼­º¯ÊýµÄ½Ó¿Ú¡£¶øhome½Ó¿ÚÌṩÁ˲úÉúºÍ¶¨Î»remote½Ó¿ÚʵÀýµÄ·½·¨¡£

ÔÚEnterprise bean±¾ÉíÀàµÄʵÏÖ£¬±¾µØhome½Ó¿Ú£¬Ô¶³Ìremote½Ó¿ÚÖ®¼ä²¢Ã»ÓÐÕýʽµÄÁªÏµ£¨ÀýÈç¼Ì³Ð¹ØÏµ£©¡£µ«ÊÇ£¬ÔÚÈý¸öÀàÀïÃæÉùÃ÷µÄ·½·¨È´±ØÐë×ñÊØEJBÀïÃæ¶¨ÒåµÄ¹æ·¶¡£ÀýÈ磺 ÄãÔÚEnterprise beanÀïÃæÉùÃ÷ÁËÒ»¸öÓ¦ÓóÌÐòµÄ·½·¨»òÕß˵ӦÓÃÂß¼­¡£Ò²ÔÚbeansµÄremote½Ó¿ÚÖÐÉùÃ÷ÁËÕâ¸ö·½·¨£¬ÄÇô£¬ÕâÁ½¸öµØ·½±ØÐëҪͬÑùµÄÃû×Ö¡£BeanµÄʵÏÖÀïÃæ±ØÐëÖÁÉÙÓÐÒ»¸öCreate()·½·¨£ºejbCreate()¡£µ«ÊÇ¿ÉÒÔÓжà¸ö´øÓв»Í¬²ÎÊýµÄcreate()·½·¨¡£ÔÚhome½Ó¿ÚÖУ¬Ò²±ØÐëÓÐÏàͬµÄ·½·¨¶¨Ò壨²ÎÊýµÄ¸öÊýÏàͬ£©¡£EjbCreate()·½·¨·µ»ØµÄÒ»¸öÈÝÆ÷¹ÜÀíµÄ³Ö¾Ã¶ÔÏó¡£ËüÃǶ¼·µ»ØÒ»¸öÈÝÆ÷¹ÜÀí³Ö¾ÃÐÔµÄÖ÷¼üÖµ¡£µ«ÊÇ£¬ÔÚhomeµÄÏàÓ¦µÄCreate()·½·¨Öзµ»ØÖµµÄÀàÐÍÊÇremote½Ó¿Ú¡£

×¢Ò⣺ʵÌåbeanµÄʵÏÖµÄejbCreate£¨£©·½·¨Óе㲻ͬ¡£ÊµÌåbean¿ÉÒÔ²»¶¨ÒåejbCreate()·½·¨¡£Èç¹ûʵÌåÖ»ÊÇͨ¹ýÓ¦ÓóÌÐò»òͨ¹ýÊý¾Ý¿â¹ÜÀí³ÌÐòµÄµÄ;¾¶±»¼Óµ½Êý¾Ý¿âÖУ¬ÊµÌåbean¾ÍÊ¡ÂÔÁËejbCreate£¨£©·½·¨¡£ejbCreate£¨£©·µ»ØµÄÖµÊÇÖ÷¼üÀàÐ͵ġ£Èç¹ûejbCreate£¨£©·½·¨ÊÇÈÝÆ÷¹ÜÀí³Ö¾ÃÐÔµÄʵÌåbeanµÄ·½·¨£¬ËüµÄ·µ»ØÖµ¾ÍÊÇNULLÀàÐÍ¡£Èç¹ûʵÌåbeanʵÏÖÁËBean¹ÜÀíµÄ³Ö¾ÃÐÔ£¬ejbCreate£¨£©·½·¨¾Í·µ»ØÖµÀàÐ;ÍÊÇÖ÷¼üÀàÐÍ¡£ÔÚÒÔºó£¬ÎÒÃÇ»áÏêϸÌÖÂÛËüÃǵIJ»Í¬¡£

Entereprise BeanÌṩÕß¶¨ÒåÁËEnterprise beanµÄÓïÒå¡£ÈÝÆ÷µÄÈÎÎñÊǰÑhome½Ó¿Ú£¬remote½Ó¿ÚºÍEnterprise beanµÄʵÏÖÀà½áºÏÆðÀ´¡£±£Ö¤ÔÚ±àÒëʱºÍÔËÐÐʱ£¬remote½Ó¿ÚºÍbeanµÄʵÏÖÀàÊÇÏà¶ÔÓ¦µÄ¡£

Enterprise beanµÄ¼Ì³Ð¹ØÏµ£º

Enterprise beanµÄʵÏÖÀ࣬remote½Ó¿Ú£¬home½Ó¿Ú¶¼Òª´Ó²»Í¬µÄ»ùÀàÖм̳ÐÏÂÀ´¡£Home½Ó¿ÚÊÇ´Ójavax.ejb.EJBHomeÖм̳йýÀ´µÄ¡£Remote½Ó¿Ú´Ójavax.ejb.EJBObjectÖм̳жøÀ´¡£RemoteºÍhome½Ó¿ÚµÄ»ùÀà¶¼ÊÇjavax.rmi.Remote¡£

Ò»¸ö»á»°bean±ØÐëʵÏÖ»ùÀàjavax.ejb.SessionBean¡£¶øÊµÌåbean±ØÐëʵÏÖ»ùÀàjavax.ejb.EntiyBean¡£ÕâЩEJBµÄ»ùÀà¶¼ÊÇ´Ójavax.ejb.EnterpriseBean¼Ì³Ð¶øÀ´¡£¶øjavax.ejb.EnterpriseBeanÓÖÊÇ´Ójava.io.Serializable¼Ì³Ð¶øÀ´¡£

ÏÂͼÏÔʾÁËËüÃÇÖ®¼äµÄ¹ØÏµ¡£ÔÚÕâÀCartBean£¬¼È¿ÉÒÔÊÇһʵÌåbean£¬Ò²¿ÉÒÔÊÇÒ»¸ö»á»°bean¡£ËüµÄHome½Ó¿ÚÊÇCartHome£¬remote½Ó¿ÚÊÇCart¡£

Remote ½Ó¿Ú£º

ÿһ¸öEnterprise Bean¶¼±ØÐëÓÐÒ»¸öremote½Ó¿Ú¡£Remote½Ó¿Ú¶¨ÒåÁËÓ¦ÓóÌÐò¹æ¶¨¿Í»§¿ÉÒÔµ÷ÓõÄÂß¼­²Ù×÷¡£ÕâЩÊÇһЩ¿ÉÒÔÓɿͻ§µ÷ÓõĹ«¹²µÄ·½·¨£¬Í¨³£ÓÉEnterprise beansÀàÀ´ÊµÏÖ¡£×¢Ò⣬Enterprise beanµÄ¿Í»§²¢²»Ö±½Ó·ÃÎÊBean¡£¶øÊÇͨ¹ýremote½Ó¿ÚÀ´·ÃÎÊ¡£

EJBObject»ùÀࣺ

Enterprise beanÀàµÄremote½Ó¿ÚÀ©Õ¹ÁËjavax.ejb.EJBObjectÀàµÄ¹«¹²java½Ó¿Ú¡£¶øJavax.ejb.EJBObjectÊÇËùÓÐremote½Ó¿ÚµÄ»ùÀà¡£Æä´úÂëÈçÏ£º

package javax.ejb;

public interface EJBObject extends java.rmi.Remote{

public EJBHome getEJBHome() throws java.rmi.RemoteException;

public Object getPrimaryKey() throws java.rmi.RemoteException;

public void Remove() throws java.rmi.RemtoeException, java.rmi.RemoveException

public Handle getHandle() throws java.rmi.RemoteException;

boolean isIdentical (EJBObject p0) throws java.rmi.RemoteException;

}

getEJBHome()·½·¨ÔÊÐíÄãÈ¡µÃÒ»¸öÏà¹ØµÄHome½Ó¿Ú¡£¶ÔÓÚ ÊµÌåBean£¬ÓÃgetPrimaryKey£¨£©·½·¨»ñµÃʵÌåBeanµÄÖ÷¼üÖµ¡£Remove£¨£©¿ÉÒÔɾ³ýÒ»¸öEnterprise bean¡£¾ßÌåµÄÓïÒåÔÚ¸÷ÖÖ²»Í¬ÀàÐ͵Äenterprise beansµÄÉúÃüÖÜÆÚÖУ¬ÓÉÉÏÏÂÎÄÖнâÊ͵ġ£·½·¨getHandle£¨£©·µ»ØÁËÒ»¸öEnterprise beanʵÀýµÄ³Ö¾ÃµÄ¾ä±ú¡£IsIndentical()·½·¨ÔÊÐíÄãÈ¥±È½ÏEnterprise beansÊÇ·ñÏàͬ¡£

·½·¨µÄÒªÇó£º

ËùÓеÄremote½Ó¿ÚÖеķ½·¨±ØÐëÉùÃ÷Ϊ¹«¹²£¨public£©µÄ£¬²¢±ØÐëÅ׳öjava.rmi.RemotExceptionÒì³£¡£ÁíÍ⣬ËùÓеÄremote½Ó¿ÚÖеķ½·¨¶¨ÒåµÄ²ÎÊýºÍ¶¼±ØÐëÊÇÔÚRMI-IIOPÖÐÓÐЧµÄ¡£¶Ôÿһ¸öÔÚremote½Ó¿ÚÖж¨ÒåµÄ·½·¨£¬ÔÚEnterprise bean ÀàÀïÃæ¶¼ÒªÓÐÏàÓ¦µÄ·½·¨¡£ÏàÓ¦µÄ·½·¨±ØÐëÒªÓÐͬÑùµÄÃû×Ö£¬Í¬ÑùÀàÐͺÍÊýÁ¿µÄ²ÎÊý£¬Í¬ÑùµÄ·µ»ØÖµ£¬¶øÇÒ»¹ÒªÅ׳öͬÑùµÄÀýÍâ¡£

ÈçÏ´úÂëÏÔʾÁËÒ»¸öATMÀý×ӵĻỰbeanµÄremote½Ó¿ÚAtm£¬¡£ÀïÃæÉùÃ÷ÁËÒ»¸öÓ¦Ó÷½·¨transfer£¨£©¡£ºÚÌ岿·Ö±íʾEJB¹æ·¶ÖбØÐëÒªÓеÄÄÚÈÝ¡£Remote½Ó¿Ú±ØÐëÀ©Õ¹javax.ejb.EJBObjectÀà¡£´Ó¿Í»§¶Ëµ÷ÓõÄEnterprise beanµÄÿһ¸ö·½·¨¶¼±ØÐëÔÚremote½Ó¿ÚÖÐÉùÃ÷¡£Transfer£¨£©·½·¨Å׳öÁËÁ½¸öÒâÍâ¡£ÆäÖÐInSufficientFundsExceptionÀýÍâÊÇÓ¦ÓóÌÐò¶¨ÒåµÄÒâÍâ¡£

Public interface Atm extends javax.ejb.EJBObject{

Public void transfer(String Source, String Target, float amount)

Throws java.rmi.RemoteException, InSufficientFundsException;

}

¶ÔÓÚremote½Ó¿ÚµÄ¶¨Ò广Ôò£¬»á»°beanºÍʵÌåbeanÊÇÒ»ÑùµÄ¡£

Home½Ó¿Ú£º

Enterprise beanµÄHome½Ó¿Ú¿ØÖÆ×ÅbeanµÄÉúÃüÖÜÆÚ¡£ÌṩÁËEnterprise bean¶ÔÏó£¨Ò²¾ÍÊǶÔEnterprise beanµÄʵÀý£©µÄCreate£¨£©£¬find£¨£©£¬remove£¨£©²Ù×÷¡£»á»°beanºÍʵÌåbeanÓв»Í¬µÄÉúÃüÖÜÆÚ¡£ËùÒÔ£¬ËüÃǵÄhome½Ó¿Ú±ØÐ붨Ò岻ͬµÄ·½·¨¡£

Enterprise beanµÄÌṩÕß±ØÐ붨Òåhome½Ó¿Ú£¬¶øÓÉEJBÈÝÆ÷À´ÊµÏÖhome½Ó¿Ú¡£

ÓëRemote½Ó¿ÚÏàËÆ£¬Home½Ó¿ÚÖз½·¨ÖеIJÎÊý£¬·µ»ØÖµÒ²±ØÐëÊÇRMI-IIOPÓÐЧµÄ¡£ËùÓеķ½·¨±ØÐëÅ׳öjava.rmi.RemoteExceptionÀýÍâ¡£

Home½Ó¿Ú±ØÐ붨ÒåÒ»¸ö»ò¶à¸öµÄCreate()·½·¨¡£Ã¿Ò»¸öÕâÑùµÄCreate()·½·¨¶¼±ØÐëÃüÃûΪCreate¡£²¢ÇÒ£¬ËüµÄ²ÎÊý£¬²»¹ÜÊÇÀàÐÍ»¹ÊÇÊýÁ¿¶¼±ØÐëÓëbeanÀàÀïÃæµÄejbCreate()·½·¨¶ÔÓ¦¡£×¢Ò⣬home½Ó¿ÚÖеÄCreate()·½·¨ºÍbeanÀàÖÐejbCreate()·½·¨µÄ·µ»ØÖµÀàÐÍÊDz»Í¬µÄ¡£

ʵÌåbeanµÄhome½Ó¿Ú»¹°üº¬find£¨£©·½·¨¡£



¡¾·¢±íÆÀÂÛ¡¿¡¾¹Ø±Õ´°¿Ú¡¿


.¿ª·¢EJB£¨Ï£©
.¼ÆËã»úÍøÂçµØÖ·¹ÜÀí̽Îö
.cÓïÑÔѧϰÈÕ¼Ç(7)