¡¾×ª¡¿JAVA RMI ¿ìËÙÈëÃÅʵÀý
http://damies.javaeye.com/blog/51778
¹Ø¼ü×Ö: RMI
JAVA RMI ¿ìËÙÈëÃÅʵÀý
±¾ÊµÀýΪ²Î¿¼¶àƪÎÄÕÂд¾Í¶ø³É£¬ÍøÉϼ°ÊéÉϸ÷ÀàÎÄÕ½éÉÜÈçºÎʹÓÃRMIÓжàÖÖʵÀý¿É²Î¿¼£¬Æ©ÈçÓУº
1. ÓÃÃüÁîrmiregistryÆô¶¯RMI×¢²á·þÎñµÄ
2. ͬʱ´´½¨´æ¸ù(stub)ºÍ¹Ç¼Ü(skeleton)µÄ
3. Ö»´´½¨´æ¸ùÀàµÄµÄ(jdk1.2ÒÔºó°æ±¾)
4. ͨ¹ýRemoteRefºÍrmi://ÐÒé×Ö´®·½Ê½µÄ
5. ±È½ÏÉÙ½²µ½µÄÓÃLocateRegistryÖ±½ÓÔÚ´úÂëÉÏÆô¶¯RMI×¢²á·þÎñµÄ¡£
ÒÔÉÏÃèÊö²¢·ÇÃ÷ÏÔ·ÖÀ࣬±ÈÈ磬Äã×ÜÊÇ¿ÉÒÔÑ¡ÔñÓÃrmiregistry»òÕß´úÂëLocateRegistryÆô¶¯RMI×¢²á·þÎñ
ÏÂÃæÎÒ½«½éÉÜÒ»¸öÍêÕûµÄʵÀý£¬ÈóõѧÕßÄÜ¿ìËÙÌåÑéRMIµÄ¹¦Óá£
·ÖΪÒÔÏÂËĸö²½Öè
1. ´´½¨Ô¶³Ì½Ó¿Ú¼°ÉùÃ÷Ô¶³Ì·½·¨£¨HelloInterface.java£©
2. ʵÏÖÔ¶³Ì½Ó¿Ú¼°Ô¶³Ì·½·¨£¨¼Ì³ÐUnicastRemoteObject£©(Hello.java)
3. Æô¶¯RMI×¢²á·þÎñ£¬²¢×¢²áÔ¶³Ì¶ÔÏó£¨HelloServer.java£©
4. ¿Í»§¶Ë²éÕÒÔ¶³Ì¶ÔÏ󣬲¢µ÷ÓÃÔ¶³Ì·½·¨£¨HelloClient£©
5. Ö´ÐгÌÐò£ºÆô¶¯·þÎñHelloServer£»ÔËÐпͻ§¶ËHelloClient½øÐе÷ÓÃ
¾ßÌå´úÂë¼°¶ÔÓ¦²½ÖèÈçÏ£º
1. ´´½¨Ô¶³Ì½Ó¿Ú¼°ÉùÃ÷Ô¶³Ì·½·¨£¨HelloInterface.java£©
java ´úÂë
package com.unmi;
import java.rmi.*;
/**
* Ô¶³Ì½Ó¿Ú±ØÐëÀ©Õ¹½Ó¿Újava.rmi.Remote
*/
public interface HelloInterface extends Remote
{
/**
* Ô¶³Ì½Ó¿Ú·½·¨±ØÐëÅ׳ö java.rmi.RemoteException
*/
public String say() throws RemoteException;
}
2. ʵÏÖÔ¶³Ì½Ó¿Ú¼°Ô¶³Ì·½·¨£¨¼Ì³ÐUnicastRemoteObject£©Hello.java
java ´úÂë
package com.unmi;
import java.rmi.*;
import java.rmi.server.*;
/**
* À©Õ¹ÁËUnicastRemoteObjectÀ࣬²¢ÊµÏÖÔ¶³Ì½Ó¿Ú HelloInterface
*/
public class Hello extends UnicastRemoteObject implements HelloInterface
{
private String message;
/**
* ±ØÐ붨Òå¹¹Ôì·½·¨£¬¼´Ê¹ÊÇĬÈϹ¹Ôì·½·¨£¬Ò²±ØÐë°ÑËüÃ÷È·µØÐ´³öÀ´£¬ÒòΪËü±ØÐëÅ׳ö³öRemoteExceptionÒì³£
*/
public Hello(String msg) throws RemoteException
{
message = msg;
}
/**
* Ô¶³Ì½Ó¿Ú·½·¨µÄʵÏÖ
*/
public String say() throws RemoteException
{
System.out.println(
Ïà¹ØÎĵµ£º
×î½üÌýµ½Ò»¸öÏûÏ¢£¬¾Ý˵ÌÚѶµÄ²Æ¸¶Í¨ÔÚÕÐÆ¸ Java ·½ÃæµÄ¸ßÊÖ£¬"²ÎÓëϵͳ¼Ü¹¹Ñ¡ÐÍ"£¬Òª°Ñµ×²ã¼Ü¹¹´Ó C/C++ Ç¨ÒÆµ½ Java ¼Ü¹¹ÉÏÀ´¡£Æäʵµ±ÄãµÄÏîÄ¿µ½Ò»¶¨¹æÄ£Ö®ºó¸ü¶àÐèÒª¿¼ÂǵÄÊǶàÈËÐ×÷¿ª·¢µÄÎÊÌ⣬¿ÉÄܵ±³õ²Æ¸¶Í¨µÄºËÐÄ´úÂëÒ²¾ÍÊÇÒ»Á½¸öÈËÓÃC/C++¸ã¶¨µÄ£¬¿ÉÊǵ±ÒµÎñÀ©´ó¡¢¸´ÔÓÖ®ºó£¬·¢ÏÖ¶ ......
jarÎļþÌý˵¹ýÂð£¬Ã»ÓУ¿»òÕßİÉú£¡ºÃ£¬Ã»¹ØÏµ£¬Õâ¾ÍÊÇÎÒÃǵĵÚÒ»Õ¾£º´ò°ü·¢²¼¡£
Ϊʲô»áÓÐÕâ¸öÍæÒâÄØ£¬Ê×ÏÈ£¬ÕâÊÇjarµÄÈ«³Æ£ºJavaTM Archive (JAR) file£¬Êǵ쬾ÍÊÇjava´æµµÎļþ¡£ÕâÓеãÀàËÆzipÎļþ£¬ÏëÒ»ÏëËüÊǸÉʲôµÄÓõÄÄØ£¬Ñ¹Ëõ£¡£¿Ã»´í¾ÍÊÇҪѹËõ£¬½«ÎÒÃÇÔÏÈÁãÉ¢µÄ¶«Î÷·Åµ½Ò»Ï£¬ÖØÐ ×éÖ¯£¬ËùÓÐÕâЩĿµÄÖ»ÓÐÒ»¸ ......
¶ÓÁÐÆäʵ ËùÖ¸Éú»îÖÐÅŶӵÄÏÖÏó£¬È¥É̳¡¹ºÎ¸¶¿îʱÐèÒªÅŶӣ¬ Âò·¹Ê±ÐèÒªÅŶӣ¬ ºÃ¶àÊÂÇé¶¼ÊÇÐèÒªÅŶӣ¬ ÅÅÔÚµÚһλµÄÔòÏÈ´¦Àí£¬½áÊøºó£¬ ºóÃæµÄÈ˶¼ÏñÇ°ÒÆ¶¯Ò»Î»£¬ÔÚ¿ª·¢ÖÐÒ²ÓкöàÕâÑùµÄÊÂÇéÐèÒª´¦Àí£¬ÈçÎļþµÄÏÂÔØ£¬¶ÌÐŵķ¢Ë͹¦ÄÜ£¬ µÈÕâЩ¶¼ÊÇÐèÒª¶ÓÁз½Ê½ÊµÏÖ¡£ºÃÁË£¬ ·Ï»°²»¶à˵£¬ ÏêÇé¼ûÏÂÃæ´úÂ룡
package com. ......
package com.gamvan.tools;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class FormatDateTime {
/**
* ÈÕÆÚÀà²Ù×÷¹¤¾ß
*/
public static String formatDateTime(String ymd){
//¸ñʽ»¯µ±Ç°Ê±¼ä
java.text ......