Eclipse下的RMI编程

现在Eclipse使用的比较多,而其功能的可扩展性也是超级强大,可以将多种工具和开发技术通过插件包的形式融合进来。这里说一下怎么通过RMI Plugin在Eclipse里面调试RMI程序。

一、准备安装包 
       Eclipse的下载地址这里就不说了。这里提供RMI Plugin for Eclipse 的下载地址:       http://www.genady.net/rmi/v20/downloads.html

       破解版下载地址:http://crackdb.com/get_87578_RMI.Plugin.for.Eclipse.v2.0.2.1_crack.html (若链接失效,请请自行google文件全名)我们下载适合eclipse3.1.x和3.2.x的2.0.2.1版本,得到net.genady.rmi_2.0.2.1.zip安装包。        这里使用的是Eclipse3.4.1版本(还未发现使用有问题)。


二、安装插件包 
       解压缩安装包net.genady.rmi_2.0.2.1.zip,将解压后得到的features和plugins文件夹拷贝至Eclipse安装根目录下,覆盖原有文件夹(若为破解版,请按照内置的说明文件进行配置)。

         启动Eclipse(如果已经启动,请重新启动Eclipse),这时在工具栏上会发现多了一个工具图标,里面有Registry的管理选项,这个就是RMI Registry的管理器。说明已经安装成功了。

三、设置开发环境 
       在安装好插件包后,我们来设置RMI开发环境。        启动Eclipse,在菜单window->preferences对话框中,选中左边树菜单java->rmi,右边窗口会出现RMI Plugin的默认设置信息。

       最上面的Path to RMI registry设置java的RMI Registry的路径,如这里设置的是C:/Program Files/Java/jdk1.5.0_05/bin/rmiregistry.exe,一般不用管它。下面的一个框是RMI的服务端口,默认是 1099,这个类似tomcat的服务端口8080一样,链接的时候需要找到对应的端口才能链接上。其实RMI的最低层是socket。

       这里需要特别指出的是RMI Plugin是个收费的Eclipse插件,有20天的免费试用期。而RMI属性中最大的窗口就是填使用授权信息的。

       开发环境到这里也只是基本的设计完成,其他的还要在具体的项目中进行设置,下面我们就开发一个简单的演示项目。

四、开发演示项目 
       这里偷一下懒,引用别人的一篇文章的实例,大家可以比照在eclipse中创建该项目;也可以顺便了解一下RMI的基本机制,和不用工具的开发方法。

文章地址: http://www.inspiresky.com/bbs/dispbbs.asp?boardID=22&ID=1687&page=1 
       这里采用第五楼文章中的例子。如果你对RMI没有什么太多了解请一定先看此文章。              这里我们一步一步来在eclipse中创建我们的演示项目:          
       1、启动eclipse,新建项目 
       菜单file->new->projects->java projects,点击next,projects name 为RMITest。其他默认,点击next,点击finish。OK,新项目建成。

        2、新建服务器包 
       左边树中右键项目RMITest,new->package,新建包com.inspiresky.rmi.server。

        3、创建远程对象接口类 
       右键点击刚才创建的包,new->Interface,新建接口I_Hello。然后编辑我们新建的接口,代码如下所示:      

         package com.inspiresky.rmi.server;

        import java.rmi.Remote;   
        import java.rmi.RemoteException;

        /* 
      * Junsan        */

        public interface I_Hello extends Remote{                public String SayHello() throws RemoteException;         }

      4、定义一个实现该接口的类 
       右键点击刚才创建的包,new->class,新建类文件Hello。然后编辑我们新建的接口,代码如下所示:      

          package com.inspiresky.rmi.server;

        import java.rmi.RemoteException;         import java.rmi.server.UnicastRemoteObject; 
        /* 
      * Junsan 
      */ 
        public class Hello extends UnicastRemoteObject implements I_Hello{        
               private static final long serialVersionUID = -8868676826752697887L; 
               public Hello() throws RemoteException 
            { 
           } 
            public String SayHello()      //这个是实现I_Hello接口的方法 
            { 
                 return "Hello world !!"; 
            } 
        }        
       好了到此,已经完成了主要服务对象的编写工作。        
        5、生成程序的存根文件 
       右键点击工程名称RMITest,RMI->Enable Stubs Generations。选中后,在我们工程文件夹RMITest/bin下的相应的包中com/inspiresky/rmi/server下就自动生成了Hello_Stub.class类。 
        6、创建RMI服务器类 
       同4中的过程,新建类RMI_Server,并编辑器代码为:       
        package com.inspiresky.rmi.server; 
        import java.rmi.Naming; 
        /* 
       * Junsan 
       */ 
        public class RMI_Server { 
               public RMI_Server() { 
               } 
               public static void main(String[] args) { 
                      try { 
                             Hello hello = new Hello(); 
                             Naming.rebind("RMI_Hello", hello); 
                             System.out.println("=== Hello server Ready === "); 
                      } catch (Exception exception) { 
                             exception.printStackTrace(); 
                      } 
               } 
        } 
        7、新建客户端包 
       方法同2,包名com.inspiresky.rmi.client。 
        8、创建客户端 
       在新建的包中同4过程,创建类RMI_Client。并编辑代码如下:       
       package com.inspiresky.rmi.client; 
        import java.rmi.Naming; 
        import com.inspiresky.rmi.server.I_Hello; 
        /* 
       * Junsan 
       */ 
        public class RMI_Client { 
               public RMI_Client() { 
                      super(); 
               } 
               public static void main(String[] args) { 
                      try { 
                             I_Hello hello = (I_Hello) Naming.lookup("RMI_Hello"); 
                             System.out.println(hello.SayHello()); 
                      } catch (Exception e) { 
                             e.printStackTrace(); 
                      } 
               } 
        } 
        OK,到这里我们就可以准备调试运行我们的程序了。


五、运行调试项目 
       在运行之前需要进行一下设置,否则,会提示错误信息,说找不到stub类。 
        1、启动RMIRegistry 
        Eclipse菜单window->show view->others,在弹出菜单中选择RMI Views->RMI Registry Inspector,这是会多出来一个窗口,这里可以显示已经注册的RMI应用。 
       点击工具条上的RMI Plugin图标,在菜单中选择Start Local Registry。 
       注意这个只需要启动一次,除非你把它关掉。 
        2、配置运行RMI服务 
       右键点击左边树中的RMI_Server.java文件,菜单Debug As ->RMI Application。在弹出对话框中找到RMI Properties标签页。 
       这时这里前两项显示红色。 
       选中java.security.police项的value框,点击选择按钮会出现文件选择对话框,我们这里设置成C:/Program Files/Java/jre1.5.0_05/lib/security/java.security。就是jre的安全策略配置文件,要选择成泥当前用的jdk的侧略文件。 
       选中第二项java.rmi.server.codebase的value项,这里选择编译后类包所在的文件夹。点击选择按钮->add按钮->pick from workspace,选择当前工程RMITest的bin文件夹。这里是file:/E:/workspace/RMITest/bin/。 
(这里有点要补充一下,还可以 点击选择按钮->add按钮->compute from classpath)

       点击apply按钮。 
       点击debug按钮。 
       这时Eclipse的console窗口中出现 
       === Hello server Ready === 
    表示RMI服务已经运行。    
        3、设置调试信息 
       打开Hello.java文件,在        
        return "Hello world !!";        
       处设置断点。 
        4、运行客户端,调试程序 
       工程树中,右键点击RMI_Client.java文件,Run As -> Java Application。 
       我们点击后,窗口一闪而过,停止后,会发现光标已经停止在我们设定断点的地方。这里程序没有错误,我们按F6键继续,会进入程序下一步的运行文件,调试的时候就是这样子一步一步调试下去。这里我们按F8直接运行完代码,在console窗口中会显示 
       Hello world !! 
       表示程序已经运行成功。

本文来自CSDN博客:http://blog.csdn.net/mudbird/archive/2009/05/06/4155407.aspx

本人测试可行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值