由于项目需要使用RMI,前段时间研究了下RMI,RMI在整个J2EE体系中还算比较复杂的。现对碰到过的问题进行一个总结。
我在研究rmi时,运行环境说明:
weblogic服务器下的EJB调用另外一台服务器的远程接口。
遇到的问题以及解决办法:
一、java.security.AccessControlException: access denied (java.net.SocketPermission
127.0.0.1:1099 connect,resolve)错误:
这个错误主要因为权限引起的,解决办法有两个:
1、取消安全管理器,即在客户端代码中注释掉
//System.setSecurityManager(。。。);
2、编写客户端policy文件,文件内容如下:
grant {
permission java.security.AllPermission;
};
客户端程序运行是采用如下命令格式:
java -Djava.security.policy=policy.txt yourRMIClientClass
二、java.lang.ClassNotFoundException: com.deitel.messenger.rmi.server.ChatSe
rverImpl_Stub
这个错误是因为RMI客户端运行需要两个文件,一个是接口文件,一个是stub文件(stub文件通过rmic编译得到),出问题的最大可能性就是这个stub忘记放入客户端的类路径中了。
解决办法:把stub文件复制到客户端的类路径中(:)似乎有点罗嗦了,呵呵。
三、服务器端也可以运用安全策略,可编写policy文件,文件内容如下:
grant {
permission java.net.SocketPermission "*:1024-65535",
"connect,accept,resolve";
};
启动服务器时,命令行为
java -Djava.security.policy=policy.yourRMIServer
四、weblogic下的部署特别麻烦,在ant打好jar包后,还要手工把stub文件再加入到jar包中,而且测试格外麻烦。
至于如何写一个RMI程序,网上的原代码一大堆,不过我认为这篇文章写的不错:http://spaces.msn.com/stephensuen/Blog/cns!1p1G_DGhjYiYGmj6keNZQAcw!151.entry
分享到:
相关推荐
对 RMI 的简单理解
这是对上一个资源的总结,总结了RMI出现的各种问题,可以说是RMI编程问题的集锦了
RMI简单实例RMI简单实例RMI简单实例
java rmi java rmijava rmi javajava rmi java rmi rmi
NULL 博文链接:https://jwu.iteye.com/blog/1734839
完整的Rmi调用示例,极难得的Rmi应用示例
rmi的详细例子,rmi的详细用法,一看就懂
分布式实验报告 RMI.docx 本实验报告主要介绍了 Java RMI(Remote Method Invocation,远程方法调用)的基本概念和实现步骤。...通过本实验,我们掌握了 RMI 的基本概念和实现步骤,并解决了实验中遇到的问题。
RMI 规范 RMI 详细介绍 共10章
rmi技术客户端调用服务器的函数解决问题 刚刚开始准备这个rmi作业的时候,我都有点无从下手。于是我先开始一起找资料,看书,经过不断的尝试编码,以及总结错误,为后期的工作奠定了基础。 在基础知识基本搞定的...
RMI教程 Java RMIRMI教程 Java RMIRMI教程 Java RMIRMI教程 Java RMIRMI教程 Java RMI
rmi小程序,RMI文档,为RMI初学者使用
RMI远程方法调用RMI远程方法调用RMI远程方法调用RMI远程方法调用RMI远程方法调用
Spring-RMI (RMI调用, HTTP调用) 本人测试过了
java RMI
spring RMI 简单例子
1. Unpack RMI.rar and put the package "features" and "plugins" under the package "net.genady.rmi_2.0.2.1" to <%eclipse%> directory; 2. Copy rmi.jar and lic.jar under the package "crack" to ...
可运行的RMI示例代码,RMI概念和其中的技术要点总结参见我的blog文章:"EJB第一枪:RMI and RMI-IIOP
本项目使用socket直接发送数据包来攻击rmi,通过反序列化攻击rmi,双击直接运行,对1099端口的rmi服务直接进行漏洞检测。
Weblogic Server与RMI RMI的使用介绍