是否可以自动化RMI?

时间:2012-03-15 13:23:57

标签: java automation rmi

我正在查看RMI文档,并想知道是否可以自动化RMI? 例如,我有4个班级 1个接口,1个实现类,1个服务器类和1个客户端类。 现在,为了远程访问对象,必须

  1. 编译所有类

    javac class.java
    
  2. 启动rmiregistry
  3. 启动服务器
  4. 运行客户端

    java client
    
  5. 将显示输出。但是,当创建其类对象时,我可以创建,导出服务器对象并将其自动绑定到rmi注册表吗?只要对象处于活动状态并且客户端可以开始访问方法,服务器就准备好了吗?

    我只有一个类是服务器,除了客户端之外,任何其他类都不能访问它,所以也没有安全问题

    我的主要动机是在代码本身执行上面列出的所有4个步骤,并使服务器类方法可以访问客户端。不能手动执行javac,启动rmiregistry,启动服务器和java客户端。

    如果服务器使用LocateRegistry.getRegistry()而不是LocateRegisgtry.creareRegistry,客户端也可以在没有任何命令(如start rmiregistrystart server从服务器端运行的情况下访问服务器) 1099)??

1 个答案:

答案 0 :(得分:2)

如果您满足于使注册表的生命周期与服务器进程的生命周期相同,则LocateRegistry类具有createRegistry(...)方法,这些方法允许您构建进程内注册表容易。所有rmiregistry程序都会在LocateRegistry.createRegistry(1099);的调用周围添加一个小小的包装。