¡¾×ª¡¿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(
Ïà¹ØÎĵµ£º
ÒòΪ³ÌÐòÒª´ÓÊý¾Ý¶ÁÈ¡½ü10WÐмǼ´¦Àí£¬µ±¶Áµ½9WµÄʱºò¾Í³öÏÖ java.lang.OutOfMemoryError: Java heap space ÕâÑùµÄ´íÎó¡£
ÔÚÍøÉÏÒ»²é¿ÉÄÜÊÇJAVAµÄ¶ÑÕ»ÉèÖÃ̫СµÄÔÒò¡£
¸ú¾ÝÍøÉϵĴ𰸴óÖÂÓÐÕâÁ½ÖÖ½â¾ö·½·¨£º
1¡¢ÉèÖû·¾³±äÁ¿
set JAVA_OPTS= -Xms32m -Xmx512m
¿ÉÒÔ¸ù¾Ý×Ô¼º»úÆ÷µÄÄÚ´æ½øÐиü¸Ä,µ«±¾È˲âÊÔÕâÖÖ· ......
jarÎļþÌý˵¹ýÂð£¬Ã»ÓУ¿»òÕßİÉú£¡ºÃ£¬Ã»¹ØÏµ£¬Õâ¾ÍÊÇÎÒÃǵĵÚÒ»Õ¾£º´ò°ü·¢²¼¡£
Ϊʲô»áÓÐÕâ¸öÍæÒâÄØ£¬Ê×ÏÈ£¬ÕâÊÇjarµÄÈ«³Æ£ºJavaTM Archive (JAR) file£¬Êǵ쬾ÍÊÇjava´æµµÎļþ¡£ÕâÓеãÀàËÆzipÎļþ£¬ÏëÒ»ÏëËüÊǸÉʲôµÄÓõÄÄØ£¬Ñ¹Ëõ£¡£¿Ã»´í¾ÍÊÇҪѹËõ£¬½«ÎÒÃÇÔÏÈÁãÉ¢µÄ¶«Î÷·Åµ½Ò»Ï£¬ÖØÐ ×éÖ¯£¬ËùÓÐÕâЩĿµÄÖ»ÓÐÒ»¸ ......
Ò»¡¢µ÷ÓÃÊôÐÔÎļþÊôÐԵĴúÂ룺
String url=SmsProperties.get("sms_address_frontend");//È¡µØÖ·Èç“sms_address_frontend=http://172.16.1.9:8280/sms_frontend/services/smsSenderWebService”
String smsServer = SmsProperties.get("sms_server_name");//·¢ËͶÌÐŵķþÎñÕ˺Å(ÕâÀï¿ÉÒÔÈ¡ÖÐÎÄÊôÐ ......
×î½ü½ÓÊÖ¸ù¾ÝÆ´ÒôÊ××ÖĸÀ´¼ìË÷ÖÐÎĵÄС¹¦ÄÜ£¬ ±ÈÈçÊäÈëA ¿ÉÒ԰ѿͻ§ÐÕÊϵĵÚÒ»¸ö×ֵį´ÒôÊ××ÖĸΪAµÄÈ«²¿¼ìË÷³öÀ´
ÏàÐÅ»ù±¾ÔÚһЩӦÓÃÕ¾µãÉ϶¼¿ÉÒÔ¿´µÄµ½¡£
֮ǰûÓÐд¹ýÀàËÆµÄ¹¦ÄÜ¡£¸ÕÄõ½µÄʱºòÒ²ºÜÓôÃÆ¡£¡£ ÕâÔõôд£¬ ÓÖ²»ÄÜÏñÕý³£²éѯһÑù select * from Ta ......
public class Test2 extends TestStatic{
static{
System.out.println("b");
}
Test2(){
System.out.println(2);
}
public static void main(String args[]){
&nbs ......