亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

RMI使用學習 小結

2020-07-27 21:44:18
字體:
來源:轉載
供稿:網友
四年前也是 Java  的 fans,也曾如火如荼的追求著 sun,追求著 java. 當然 RMI 肯定不會放過,但到目前為止還沒有在任何一個項目中用過,昨天聽了一個 java 老師的課,本來不去想聽,可想想我交了這么多 money,最后還是去。最叫人惡心的是他講的 RMI 一點實用價值都沒有,而且有的理論也不對。真的誤導人啊,學術理論和實踐是不能夠分離的,老師是這樣的,只能靠學生自己動手豐衣足食了。昨天晚上用了一點時間,從新研究了一下 RMI。舉個例子作為 RMI 學習的終結吧。
        在寫這篇文章前也訪問了中國電信的高級工程師,根據他的介紹,RMI 有很多實現方式,而且現在他發現 RMI 在大規模分布式系統中,效率和性能不是很好。目前他帶領的團隊正在自行開發分布式應用。
        隨著 web 2.0 時代的到來,SOA 開發思想的普及應用。分布式應用,將又一次走向高潮。
        RMI  開發步驟大家都很清楚,這里舉個不用手動啟動 rmiRegistry, 也不要指定 codebase 和web server 的例子.底層 TCP/IP 細節我們不用去管他,你就把他看成像 SOAP、JNDI 等一樣的基于注冊服務的東西就行了  .

1. 遠程接口
import java.rmi.Remote;
import java.rmi.RemoteException;

public interface IRMI extends Remote {
 public Object invoke(ITask task) throws RemoteException;
}
2.遠程接口實現

/**
 * @author Jack.Wang
 * 
 */
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class IRMIImpl extends UnicastRemoteObject implements IRMI {

 protected IRMIImpl() throws RemoteException {
  super();
 }

 public Object invoke(ITask task) throws RemoteException {
  System.out.println("注意:這是一個遠程調用");
  Object obj = task.doWork();
  System.out.println("調用ITask.doWork()方法的返回值:" + obj.toString());
  // 客戶端調用,可以在服務器端播放需要的音樂
  ProcessCaller.callMp3();
  return obj;
 }
}
3.  任務接口
/**
 * @author Jack.Wang
 * 
 */
import java.io.Serializable;
public interface ITask extends Serializable {
 public Object doWork();
}
4.  任務實現類
/**
 * @author Jack.Wang
 * 
 */
public class TaskImpl implements ITask {

 public Object doWork() {
  System.out.println("當前程序處于遠程調用中");
  return Thread.currentThread().getName() + " "
    + new Date(System.currentTimeMillis());
 }
}
5.在java中調用windows程序
public class ProcessCaller {

 public static void callMp3() {
  Runtime ru = Runtime.getRuntime();
  try {
   // 調用播放器文件播放指定MP3
   Process p1 = ru
     .exec("C://Program Files//Windows Media Player//wmplayer D://Jack//Mp3//5.秋天不回來-王強.mp3");
  } catch (Exception e) { 

  }
 }
}
6. Server 端代碼 
/**
 * @author Jack.Wang
 * 
 */
import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry; 

public class RMIServer {

 public static void registRemoteObject() throws Exception {
  IRMIImpl impl = new IRMIImpl();
  Naming.rebind("rmi://210.43.109.25:1111/mytask", impl);
  System.out.println("bound success!");
 } 

 private static Registry createRegistry() {
  Registry registry = null;
  int port = 1111;
  try {
   registry = LocateRegistry.getRegistry("210.43.109.25", port);
   registry.list();
   System.out.println("Register the exist server!");
  } catch (final Exception e) {
   try {
    registry = LocateRegistry.createRegistry(port);
    System.out.println("Register the exist server!port=" + port);
   } catch (final Exception ee) {
    ee.printStackTrace();
   }
  }
  return registry;
 } 

 /**
  * 將對象注冊到rmi服務器上
  */
 public static void bind() {
  Registry registry = null;
  registry = createRegistry();
  try {
   IRMIImpl impl = new IRMIImpl();
   registry.rebind("mytask", impl);
   System.out.println("mytask server start!");
  } catch (Exception e) {
   e.printStackTrace();
  }
 } 

 /**
  * @param args
  */
 public static void main(String[] args) {
  try {
   bind();
  } catch (Exception e) {
   e.printStackTrace();
  }
 } 

}
7. Client 端代碼

/**
 * @author Jack.Wang
 * 
 */ 
public class RMIClient {
 public static void getRemoteObject() throws Exception {
  IRMI obj = (IRMI) Naming.lookup("rmi://210.43.109.28:1111/mytask"); // 得到遠程發布的服務
  TaskImpl task = new TaskImpl();
  Object result = obj.invoke(task); // 調用遠程服務的方法
  System.out.println(result.toString());
 } 

 public static void main(String[] args) {
  try {
   getRemoteObject();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

小結:
        建議把以上程序打包成 jar 文件,你可以在不同機子間測試。
        RMI 就這么簡單,如果你覺得他不爽,就自己封裝 socket. 到時候要通知我哦,我也學習學習。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精美色品网站| 26uuu亚洲国产精品| 国产日韩欧美日韩大片| 亚洲精品一二区| 国语自产偷拍精品视频偷| 亚洲成人精品视频| 国产精品 欧美在线| 97久久久久久| 国产精品久久久久久久一区探花| 性欧美暴力猛交69hd| 精品欧美国产一区二区三区| 在线播放精品一区二区三区| 91香蕉国产在线观看| 久久精品99无色码中文字幕| 久久成人人人人精品欧| 国模精品系列视频| 国产成人av网| 中文字幕v亚洲ⅴv天堂| 狠狠做深爱婷婷久久综合一区| 成人福利在线视频| 欧美激情在线视频二区| 欧美一级淫片丝袜脚交| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲天堂一区二区三区| 欧美日韩国产综合视频在线观看中文| 91久久精品日日躁夜夜躁国产| 亚洲国产精品99| 亚洲桃花岛网站| 欧美丰满少妇xxxxx| 久久久精品影院| 91精品国产一区| 高清亚洲成在人网站天堂| 亚洲成人网在线| 亚洲精品资源在线| 欧美高清理论片| 91九色单男在线观看| 91精品国产91久久久久久吃药| 久久精品人人做人人爽| 日韩欧美在线播放| 欧美成人自拍视频| 性欧美办公室18xxxxhd| 日本三级韩国三级久久| 日本人成精品视频在线| 成人激情视频在线| 久久人人爽人人爽人人片亚洲| 久久久人成影片一区二区三区| 日韩一区二区精品视频| 久久影院在线观看| 5252色成人免费视频| 奇米影视亚洲狠狠色| 日韩国产一区三区| 久久久久久久久久国产精品| 精品久久久久久久久久久| 欧美成人免费在线视频| 精品国产一区久久久| 日韩精品黄色网| 91精品国产综合久久香蕉| 久久久久免费视频| 国产精品美女免费看| 国产精品免费一区二区三区都可以| 日韩精品久久久久| 亚洲综合中文字幕在线观看| 成人福利免费观看| 日韩a**中文字幕| 亚洲午夜久久久久久久| 国产va免费精品高清在线| 精品成人乱色一区二区| 欧美精品国产精品日韩精品| 国产一区二区三区视频在线观看| 黄色精品一区二区| 国产精品日韩精品| 亚洲va欧美va国产综合剧情| 欧美xxxx14xxxxx性爽| 日韩欧美aⅴ综合网站发布| 亚洲深夜福利网站| 亚洲美女免费精品视频在线观看| 欧美性极品少妇精品网站| 91免费精品视频| 992tv成人免费影院| 成人春色激情网| 国产精品第一视频| 久久影视电视剧免费网站| 亚洲无av在线中文字幕| 成人综合网网址| 国产欧美久久一区二区| 国产精品午夜一区二区欲梦| 日韩av三级在线观看| 国产精品黄视频| 亚洲欧美国产精品专区久久| 亚洲一区二区三| 亚洲欧美另类自拍| 欧美日韩精品在线观看| 久久久精品影院| 国产美女被下药99| 精品成人国产在线观看男人呻吟| 欧美人与性动交| 欧美在线视频播放| 亚洲午夜女主播在线直播| 欧美日韩第一视频| 欧美精品福利视频| 57pao国产成人免费| 国内精品久久久久伊人av| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品久久久久久久久久新婚| 国色天香2019中文字幕在线观看| 亚洲成人av片在线观看| 九九精品在线播放| 精品中文字幕视频| 成人情趣片在线观看免费| 日韩亚洲综合在线| 久久综合久久美利坚合众国| 亚洲国产成人精品女人久久久| 国产精品av在线| 91久久久久久久久| 国产精品毛片a∨一区二区三区|国| 久久视频在线视频| 狠狠色狠狠色综合日日五| 国产精品揄拍一区二区| 欧美中文在线免费| 久久成人精品电影| 久久伊人精品一区二区三区| 欧美亚洲在线视频| 高清日韩电视剧大全免费播放在线观看| 日韩三级影视基地| 91亚洲国产成人精品性色| 伊人久久久久久久久久久| 国产精品无av码在线观看| 亚洲自拍偷拍一区| 国产极品精品在线观看| 久久夜色精品国产欧美乱| 亚洲欧洲在线免费| 欧美日韩在线免费| 日韩av观看网址| 疯狂做受xxxx高潮欧美日本| 日韩精品在线免费观看视频| 欧美自拍大量在线观看| 国产91色在线|免| 亚洲人成77777在线观看网| 欧美主播福利视频| 性金发美女69hd大尺寸| 欧美激情高清视频| 日韩精品免费在线视频| 尤物精品国产第一福利三区| 国产精品96久久久久久又黄又硬| 欧美高清视频一区二区| 国产不卡av在线免费观看| 亚洲精品白浆高清久久久久久| 色妞色视频一区二区三区四区| 亚洲国产小视频| 色哟哟亚洲精品一区二区| 国产视频丨精品|在线观看| 日韩精品欧美国产精品忘忧草| 久久久最新网址| 18一19gay欧美视频网站| 亚洲综合色激情五月| 精品久久久久久中文字幕一区奶水| 丁香五六月婷婷久久激情| 国产99久久精品一区二区永久免费| 精品国产乱码久久久久久虫虫漫画| 亚洲综合在线播放| 77777亚洲午夜久久多人| 欧美一级视频免费在线观看| 久久免费国产视频| 欧美性生活大片免费观看网址|