服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

我的rmi实践


  //: c15:rmi:perfecttime.java
  // from 'thinking in java, 2nd ed.' by bruce eckel
  // www.bruceeckel.com. see copyright notice in copyright.txt.
  // the implementation of
  // the perfecttime remote object.
  import java.rmi.*;
  import java.rmi.server.*;
  import java.rmi.registry.*;
  import java.net.*;
  
  public class perfecttime
  extends unicastremoteobject
  implements perfecttimei {
  // implementation of the interface:
  public long getperfecttime()
  throws remoteexception {
  return system.currenttimemillis();
  }
  // must implement constructor
  // to throw remoteexception:
  public perfecttime() throws remoteexception {
  // super(); // called automatically
  }
  // registration for rmi serving. throw
  // exceptions out to the console.
  public static void main(string[] args) throws exception {
  perfecttime pt = new perfecttime();
  naming.rebind("/perfecttime", pt);
  system.out.println("ready to do time");
  }
  } ///:~
  //: c15:rmi:perfecttimei.java
  // from 'thinking in java, 2nd ed.' by bruce eckel
  // www.bruceeckel.com. see copyright notice in copyright.txt.
  // the perfecttime remote interface.
  import java.rmi.*;
  
  interface perfecttimei extends remote {
  long getperfecttime() throws remoteexception;
  } ///:~
  //: c15:rmi:displayperfecttime.java
  // from 'thinking in java, 2nd ed.' by bruce eckel
  // www.bruceeckel.com. see copyright notice in copyright.txt.
  // uses remote object perfecttime.
  import java.rmi.*;
  import java.rmi.registry.*;
  
  public class displayperfecttime {
  public static void main(string[] args)
  throws exception {
  system.setsecuritymanager(
  new rmisecuritymanager());
  perfecttimei t = (perfecttimei)naming.lookup("/perfecttime");
  for(int i = 0; i < 10; i++)
  system.out.println("perfect time = " +
  t.getperfecttime());
  }
  } ///:~
  grant {
  // allow everything for now
  permission java.security.allpermission;
  };
  
  存入于f:/rmi下
  操作步骤
  f:/rmi>java perfecttime
  ready to do time
  f:/rmi>javac *.java
  f:/rmi>rmic perfecttime
  f:/rmi>start rmiregistry
  f:/rmi>java perfecttime
  ready to do time
  另开一dos窗口
  f:/rmi>java -djava.security.policy=registerit.policy displayperfecttime
  perfect time = 1011585443953
  perfect time = 1011585443968
  perfect time = 1011585444000
  perfect time = 1011585444000
  perfect time = 1011585444015
  perfect time = 1011585444031
  perfect time = 1011585444031
  perfect time = 1011585444046
  perfect time = 1011585444062
  perfect time = 1011585444062
  注意:如果在rmic perfecttime时报找不到perfecttime类,请在环境变量中的classpath中加入:f:/rmi

扫描关注微信公众号