2012-03-15 61 views
0

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

  1. 编译所有的类

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

    java client 
    

这将显示output.But我可以创建,导出和绑定服务器对象RMI注册表自动时创建的类对象?只要对象处于活动状态并且客户端可以开始访问方法,服务器就准备好了吗?

我只有1个类是一个服务器,它不是由任何其他类访问,除了客户端,所以也没有安全问题也涉及到这一点。

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

而且是有可能在客户端访问服务器,而不象start rmiregistrystart server任何命令从服务器端中运行,如果该服务器使用LocateRegistry.getRegistry()代替LocateRegisgtry.creareRegistry(1099)??

+0

你可以使用任何你想要的脚本语言,船该脚本的代码的其余部分。请记住,根据您选择的内容,用户需要设置运行时环境。最常见的方法之一是批处理/ bash脚本。 – hovanessyan 2012-03-15 13:42:22

+0

您可以通过ANT脚本做到这一点请通过http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html为基础 – 2012-03-15 13:38:29

+0

你就是不行。你不能写一个会导致服务器将自己绑定到注册表中的ANT脚本。 – EJP 2012-03-16 01:30:48

回答

2

如果您满足于使注册表的生命周期与服务器进程的生命周期相同,LocateRegistry类有createRegistry(...)方法,这些方法允许您轻松构建进程内注册表。所有的rmiregistry程序都会在打电话给LocateRegistry.createRegistry(1099);时加上一个小小的包装。

+0

非常感谢,解决了我的问题.. :) – Galaxin 2012-03-20 17:45:34

相关问题