µ±Ç°Ò³Ãæ: ¿ª·¢×ÊÁÏÊ×Ò³ ¡ú Java רÌâ ¡ú EJBÊý¾ÝÑéÖ¤³öÏÖÔÚʲôµØ·½×îºÏÊÊ
EJBÊý¾ÝÑéÖ¤³öÏÖÔÚʲôµØ·½×îºÏÊÊ
ÕªÒª: ÎÒÃǽ«ÌÖÂÛÊý¾ÝÑéÖ¤Âß¼Ó¦¸Ã³öÏÖÔÚ EJB Ó¦ÓóÌÐò´úÂëµÄʲôλÖ㬶ø²»ÊÇרעÓÚÑéÖ¤¹ý³Ì
¡¡¡¡ÎÒÃǽ«ÌÖÂÛÊý¾ÝÑéÖ¤Âß¼Ó¦¸Ã³öÏÖÔÚ EJB Ó¦ÓóÌÐò´úÂëµÄʲôλÖ㬶ø²»ÊÇרעÓÚÑéÖ¤¹ý³Ì£¨Java ¼¼Êõ×¨ÇøµÄÆäËüµØ·½¶Ô´Ë½øÐÐÁ˺ܺõÄÌÖÂÛ£©¡£ÎÒÃÇÁ˽âÁ˺ܶà×é³É»ùÓÚ EJB ¼¼ÊõµÄÓ¦ÓóÌÐòµÄ×é¼þ£ºµ×²ã»á»° bean ¼°ÆäÒµÎñ½Ó¿Ú£»ÔÚʵÌå bean ¼°Æä¿Í»§»úÖ®¼ä´«ËÍÊý¾ÝµÄÖµ¶ÔÏóÒÔ¼°µ£ÈÎ Web ²ãºÍÒµÎñ²ãÖ®¼äµÄ±£»¤²ãµÄ¸÷ÖÖίÅÉÀà¡£ÑéÖ¤Â߼ʮ·ÖÊʺÏÕâЩ×é¼þÖеÄÈκÎÒ»¸ö¡£Êµ¼ÊÉÏ£¬Äú¿ÉÒÔÔÚ¶à¸ö×é¼þÖзÅÖÃÑéÖ¤Âß¼£¬ÔÚÕû¸öÓ¦ÓóÌÐòÖзֲã´ÎµØ·ÅÖÃËü£¨¾¡¹ÜÕâÑù×öÊDz»¿ÉÈ¡µÄ£©¡£Òò´Ë£¬ÎÒÃÇÔÚ´Ë´¦Ìá³öµÄÎÊÌâÊÇ£ºÔÚ EJB Ó¦ÓóÌÐòµÄʲôλÖ÷ÅÖÃÑéÖ¤´úÂë×îÓÐÀû£¿
<iframe width="360" height="300" align="right"scrolling="No" frameborder="0" marginheight="0" marginwidth="0" SRC="http://images.chinabyte.com/adjs/iframe-pip/y-software-pip.html"></iframe>¡¡¡¡Êý¾ÝÑéÖ¤µÄÀàÐÍ
¡¡¡¡ÒªÈ·¶¨½«ÑéÖ¤´úÂë·ÅÖÃÔÚʲôλÖ㬵ÚÒ»²½ÊÇÁ˽âÄúÕýÔÚ´¦ÀíʲôÀàÐ͵ÄÑéÖ¤¡£Êý¾Ý¸ñʽÑé֤ȷ±£ËùÓÐÊý¾ÝÀàÐÍ£¨ÕûÊý¡¢¸¡µãÊý¡¢×Ö·û´®µÈ£©¶¼ÊÇÕýÈ·µÄ¡£Ëü»¹ÒªÈ·ÈϱäÁ¿¶¼ÔÚÔÊÐíÖµµÄ·¶Î§Ö®ÄÚÒÔ¼°Êµ¼ÊµÄģʽ°´Ô¤ÆÚµÄÆ¥Åä¡£±¾ÖÊÉÏ£¬Êý¾Ý¸ñʽÑéÖ¤´¦ÀíÑéÖ¤µÄÈκη½Ã棬ÕâЩÑéÖ¤²»ÐèÒªÓ¦ÓÃÌØ¶¨ÒµÎñ¹æÔò
¡¡¡¡Ìض¨ÓÚÒµÎñµÄÑéÖ¤»ùÓÚÒ»×éÒµÎñ¹æÔò£¨ÀýÈ磬ȷ±£ËùÌṩµÄ ISBN ºÅÓëÄúÊý¾Ý¿âÖеÄʵ¼ÊÊé¼®ÏàÆ¥Å䣩¡£Ëü¼¸ºõ×ÜÊÇÐèÒª¶Ô EJB ²ãÒÔ¼°Ó¦ÓóÌÐòÖÐµÄÆäËüÒµÎñÂß¼×é¼þ¾ßÓзÃÎÊȨ¡£
¡¡¡¡Êý¾Ý¸ñʽÑéÖ¤
¡¡¡¡È·¶¨ÁËÕýÔÚ´¦ÀíµÄÑéÖ¤ÀàÐÍÖ®ºó£¬ÏÂÒ»²½ÊÇÈ·¶¨·ÅÖôúÂëµÄλÖá£ÔÚÄúµÄ EJB Ó¦ÓóÌÐòÖУ¬Êý¾Ý¸ñʽÑéÖ¤Âß¼¿ÉÒÔÈçϽøÐзÅÖãº
¡¡¡¡½«¸³Öµ£¨setter£©·½·¨·ÅÖÃÔÚÒµÎñίÅÉÉÏ¡£
¡¡¡¡½«¸³Öµ£¨setter£©·½·¨·ÅÖÃÔÚ bean µÄÔ¶³Ì½Ó¿ÚÉÏ¡£
¡¡¡¡½«¸³Öµ£¨setter£©·½·¨·ÅÖÃÔÚ bean µÄÏûÏ¢¶ÔÏó»òÖµ¶ÔÏóÉÏ¡£
¡¡¡¡¶ÔÓÚ±¾Ê¾Àý£¬ÎÒÃǽ«¼Ù¶¨ÄúÕýÔÚ´¦ÀíÒ»¸ö°üÀ¨ÒµÎñίÅÉµÄ EJB Ó¦ÓóÌÐò¡£Èç¹ûÊÇÕâÑù£¬ÄÇôÄúÓ¦¸Ã²ÉȡijЩ²½Ö裬ȷ±£ËùÓеÄÓ¦ÓóÌÐò¿Í»§»ú£¨´¦ÓÚ Web ²ã£©¶¼ÔÚʹÓÃίÅɽøÐÐ bean ·ÃÎÊ£¬¶ø²»ÊÇÖ±½Ó·ÃÎÊ bean¡£Èç¹ûȷʵÊÇÕâÑù£¬ÄÇôÄú¿ÉÒÔ½«ËùÓÐÊý¾ÝÑéÖ¤´úÂë¶¼°²È«µØ·ÅÖÃÔÚÒµÎñίÅÉ·½·¨ÖУ¬ÈçÇåµ¥ 1 Ëùʾ¡£
¡¡¡¡Çåµ¥ 1. ÒµÎñίÅÉÖеÄÊý¾Ý¸ñʽÑéÖ¤ package com.ibm.library;
<table width="90%" bgColor=#ffffff border=0>
<tr>
<td>import java.rmi.RemoteException;
import java.util.Iterator;
import java.util.List;
import javax.ejb.CreateException;
import javax.naming.NamingException;
public class LibraryDelegate implements ILibrary {
¡¡private ILibrary library;
¡¡public LibraryDelegate() {
¡¡¡¡init();
¡¡}
¡¡public void init() {
¡¡¡¡// Look up and obtain our session bean
¡¡¡¡try {
¡¡¡¡¡¡LibraryHome libraryHome =(LibraryHome)EJBHomeFactory.getInstance().lookup(
"java:comp/env/ejb/LibraryHome", LibraryHome.class);
¡¡¡¡¡¡library = libraryHome.create();
¡¡¡¡} catch (NamingException e) {
¡¡¡¡throw new RuntimeException(e);
¡¡} catch (CreateException e) {
¡¡throw new RuntimeException(e);
¡¡} catch (RemoteException e) {
¡¡¡¡throw new RuntimeException(e);
¡¡}
}
// No validation required for accessor (getter) methods
public boolean checkout(Book book) throws ApplicationException {
¡¡// No validation required here; the object type
¡¡// takes care of it
¡¡try {
¡¡¡¡return library.checkout(book);
¡¡} catch (RemoteException e) {
¡¡¡¡throw new ApplicationException(e);
¡¡}
}
public boolean checkout(List books) throws ApplicationException {
¡¡// Validate list
¡¡for (Iterator i = books.iterator(); i.hasNext(); ) {
¡¡¡¡Object obj = i.next();
¡¡¡¡if !(obj instanceof Book) {
¡¡¡¡¡¡throw new ApplicationException(
¡¡¡¡¡¡¡¡ApplicationException.VALIDATION_ERROR,"Only Books are allowed in the input list");
¡¡¡¡}
¡¡}
¡¡try {
¡¡¡¡return library.checkout(books);
¡¡} catch (RemoteException e) {
¡¡¡¡throw new ApplicationException(e);
¡¡}
}
// And so on...
public void destroy() {
¡¡// In this case, do nothing
}
}</td></tr></table>
¡¡¡¡¶ÔÓÚÊý¾Ý¸ñʽÑéÖ¤£¬ÄúÏ£ÍûʹÑéÖ¤Âß¼¾¡¿ÉÄÜ¿¿½ü¿Í»§»ú¡£Êý¾Ý¸ñʽÑéÖ¤¾³£´¥·¢´íÎóÒ³Ãæ»òÒªÇó¿Í»§»úÖØÐÂÊäÈë¸ñʽ´íÎóµÄÊý¾Ý¡£ÔÚÕâЩÇé¿öÏ£¬ÄúÏ£Íû»¨·Ñ×îÉٵĴ¦Àí¿ªÏúѸËÙÏò¿Í»§»úÌṩ·´À¡¡£Í¨¹ý½«ÑéÖ¤Âß¼·ÅÖÃÔÚÒµÎñίÅÉÖУ¬ÄúÒѾ´´½¨ÁË×î×ÔÈ»µÄ´
íÎó´¦Àí·½°¸¡£µ±¿Í»§»ú³¢ÊÔÏòίÅɲéѯ´øÓиñʽ´íÎóµÄÊý¾Ýʱ£¬¾Í»á´¥·¢´íÎó£¬ÇëÇó±»Ö±½ÓËͻؿͻ§»ú£¬²¢¾Í¸ÃÎÊÌ⾯¸æÓû§¡£
¡¡¡¡½«ÑéÖ¤Âß¼·ÅÖÃÔÚ bean ʵÏÖÖлᵼÖµÍЧÂʵÄÑéÖ¤¹ý³Ì¡£´íÎóÏûÏ¢½«´Ó bean ʵÏÖ´«Ë͵½Î¯ÅÉ£¬¶ø²»ÊÇÖ±½Ó´ÓίÅÉ´«Ë͵½¿Í»§»ú£¬ÕâºÜÏó RemoteException£¬¶ø²»ÏóÓ¦ÓóÌÐòÒì³£¡£³ýÁËÔ¶³ÌÒì³£µÄ´ú¼ÛÖ®Í⣬ίÅÉ»¹½«¸¶³ö JNDI ²éÕÒ¡¢RMI Á÷Á¿ÒÔ¼°£¨¿ÉÄÜÓУ©¶îÍâµÄÒµÎñÂß¼µÄ´ú¼Û ¡ª »¨·ÑÔÚµ¥¸öÑéÖ¤´íÎóÉϵÄÁ¦ÆøÌ«¶àÁË£¡
¡¡¡¡Ìض¨ÓÚÒµÎñµÄÑéÖ¤
¡¡¡¡Ìض¨ÓÚÒµÎñµÄÑéÖ¤ÍêÈ«ÊÇÒ»ÖÖ²»Í¬µÄÇéÐΡ£ÒµÎñÑéÖ¤´íÎóͨ³£±ÈÊý¾ÝÑéÖ¤´íÎó¸ü¸´ÔÓ£¬²¢ºÜÉÙͨ¹ý¿Í»§»ú½»»¥»ñµÃ½â¾ö¡£½â¾öÌØ¶¨ÓÚÒµÎñµÄ´íÎóÒªÇóʹÓöîÍâµÄʵÌåºÍ»á»° bean ÒÔ¼°Êý¾Ý¿â·ÃÎÊ£¬ÕâЩ¶¼±ØÐëͨ¹ý JNDI ºÍ RMI ÊÂÎñ½øÐд¦Àí¡£°ÑÕâÖÖÑéÖ¤·ÅÔÚÒµÎñίÅÉÉÏ»¨·ÑµÄ¿ªÏú»áºÜ´ó¡£¸üºÃµÄÖ÷ÒâÊǽ«ÕâÖÖÑéÖ¤ÒÆ»Ø EJB ²ã£¬ÓÈÆäÊÇ·ÅÖõ½ bean µÄʵÏÖÀàÖС£
¡¡¡¡ÔÚ½«¸ÃÑéÖ¤·ÅÖÃÔÚÓ¦ÓóÌÐòµÄÕâÒ»²ãʱ£¬ËùÓÐ RMI Á÷Á¿¶¼Ó¦¸ÃÊDZ¾µØµÄ£»´ó¶àÊýÓ¦ÓóÌÐò·þÎñÆ÷¶¼½«Ê¹Óà VM ÄÚµÄÓÅ»¯£¬ÒÔʹ bean-µ½-bean ½»»¥Ëٶȼ«¿ì¡£ÄúÒ²¿ÉÒÔ±ÜÃâ JNDI ·ÃÎÊ£¬ÒòΪÐí¶à bean ÒѾ²éÕÒÁËÏà¹Ø bean µÄÖ÷£¨home£©½Ó¿Ú¡£´ËÍ⣬ÄúµÄÒµÎñίÅÉÒѾ´¦ÀíÁËËùÓбØÒªµÄÊý¾Ý¸ñʽÑéÖ¤¡£
¡¡¡¡½áÊøÓï
¡¡¡¡ÔÚ¾ö¶¨½«ÑéÖ¤´úÂë·ÅÖÃÔÚÄÄÀïʱ£¬ºÜÖØÒªµÄÊÇÄܹ»·Ö±æÁ½ÖÖÑéÖ¤ÀàÐÍ¡£Êý¾ÝÑéÖ¤ÊDZÈÒµÎñÑéÖ¤¼òµ¥µÃ¶àµÄÑéÖ¤ÀàÐÍ£¬Ò»°ãµÄ¾ÑéÊÇʹËü¾¡¿ÉÄÜ¿¿½ü¿Í»§»ú¡£Ìض¨ÓÚÒµÎñµÄÑéÖ¤¸ü¸´ÔÓ£¬²¢Í¨³£ÐèÒª¼¸ÖÖ²»Í¬µÄÊÂÎñÀ´Íê³É¡£ÕâÀàÑéÖ¤Ó¦¸Ã·ÅÔÚ EJB ²ã£¬ÔÚÄÇÀËü¿ÉÒÔ¾¡¿ÉÄܵØÀûÓÃÏÖÓеĽø³Ì¡£zmbbs=1;
¡ü·µ»ØÄ¿Â¼
ǰһƪ:
»ùÓÚSwingµÄͼÊé¹ÝϵͳXML¿ò¼Ü
ºóһƪ:
Java£¨JVM£©ÐéÄâ»ú½á¹¹»ù´¡