¡¾×ª¡¿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(
Ïà¹ØÎĵµ£º
1 mysql´æ´¢´óÈÝÁ¿µÄ¶þ½øÖÆÎļþµÄ¸ñʽÊÇblob£¬Æäʵ³ýÁËͼƬ»¹¿ÉÒÔ´æ±ðµÄ
2 ÒªÏòÊý¾Ý¿â´æ´¢¶þ½øÖƵÄÎļþÒ»¶¨Òª°ÑÒª´æ´¢µÄÊý¾Ýת»»³É¶þ½øÖÆÁ÷
·Ï»°¾Í²»¶à˵ÁË£¬´ó¼Ò¿´¿´´úÂëºÜÈÝÒ×Ã÷°×£¬ÏÈÀ´¿´Ò»¸öapp³ÌÐò£¬µ±È»Ê×ÏÈÄúÒªÔÚÊý¾Ý¿âÖÐÏȽ¨Á¢Ò»¸öÓÃÓÚ±£´æÍ¼Æ¬µÄ±íºÍÏàÓ¦µÄÁУ¬Êý¾Ý¸ñʽΪblob
package ......
×î½üÌýµ½Ò»¸öÏûÏ¢£¬¾Ý˵ÌÚѶµÄ²Æ¸¶Í¨ÔÚÕÐÆ¸ Java ·½ÃæµÄ¸ßÊÖ£¬"²ÎÓëϵͳ¼Ü¹¹Ñ¡ÐÍ"£¬Òª°Ñµ×²ã¼Ü¹¹´Ó C/C++ Ç¨ÒÆµ½ Java ¼Ü¹¹ÉÏÀ´¡£Æäʵµ±ÄãµÄÏîÄ¿µ½Ò»¶¨¹æÄ£Ö®ºó¸ü¶àÐèÒª¿¼ÂǵÄÊǶàÈËÐ×÷¿ª·¢µÄÎÊÌ⣬¿ÉÄܵ±³õ²Æ¸¶Í¨µÄºËÐÄ´úÂëÒ²¾ÍÊÇÒ»Á½¸öÈËÓÃC/C++¸ã¶¨µÄ£¬¿ÉÊǵ±ÒµÎñÀ©´ó¡¢¸´ÔÓÖ®ºó£¬·¢ÏÖ¶ ......
ÎÒÔÚ¼ÆËã»úÐÐÒµºÍÎÒµÄͼ±êÒ»Ñù»¹Ö»ÊÇÒ»¸öСº¢£¬µ±ÎÒÔÚÄÃϼÆËã»ú4¼¶£¨Èí¼þ²âÊÔ¹¤³Ìʦ£©ºÍ±àдÁ˲»ÉÙµÄͦcoolµÄ³ÌÐòÖ®ºó£¬¾õµÃ
×Ô¼ºË®Æ½²»Àµ¹þ¡£½á¹û¸Õ¿çÈëÒ»¸ö´ó¹«Ë¾ÊµÏ°µÄʱºò£¬ÎÒ¿´µ½ÎÒµÄÄǸöÏîÄ¿£¬ºÜ¿ìÎÒ±à³ÌµÄ˼άÓÖÔÚÌø¶¯£¬¿É“ÀÏ´ó”À´ÁËÒ»¾äc/c++ʵÏÖ
£¬ÎҾͷ·ðµ½ÁËÒ»¸ ......
public class ExcelUtil {
/*
* ¸ù¾ÝExcelÎļþ·¾¶ºÍ±íµ¥Ãû³Æ£¬Ò»´Î²éÕÒ´Ë±íµ¥µÄËùÓмǼ*/
public static String[][] getContentByName(String sourcePath,String sheetName){
String[][] strArray = null;
try {
InputStream is = new FileInputStream(sourcePath);
Workbook wb = Workbook.get ......