对RMI常见问题的总结

fortify源代码扫描问题分析汇总 编号 漏洞名称 漏洞危害 修复建议 1 Dynamic Code Evaluation: Unsafe Deserialization 动态代码评估:不安全的反序列化 Actuator正是Spring Boot提供的对应用系统的监控和管理的集成功能,可以查看应用配置的详细信息,例如自动化配置信息、创建的Spring beans信息、系统环境变量的配置信以及Web请求的详细信息等。在使用... 阅读详情

          由于项目需要使用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

65、Java远程方法调用(RMI)全解析 本文深入解析了Java远程方法调用(RMI)的实现和使用,涵盖服务器端与客户端开发步骤、存根类编译、运行时类加载机制以及java.rmi包的核心功能。同时分析了RMI的优缺点、应用场景及常见问题解决方案,为读者全面掌握Java RMI技术提供了详尽指导。 阅读详情

相关推荐

java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:8080 connec

原文地址:http://mahilion.blog.163.com/blog/static/1830872952012101225243655/ 程序中运行applet时,在确保加了信任站点以后还报如下错误: java.security.AccessControlException: access denied (java.net.SocketPermission 127.

7077

RMI简介及简单示例

一、编写Java RMI分布式应用程序的步骤主要包括以下几步:(1) 将远程类的功能定义为Java接口。在Java中,远程对象是实现远程接口的类的实例。在远程接口中声明每个要远程调用的方法。远程接口具有如下特点:1) 远程接口必须声明为public。如果不这样,则除非客户端与远程接口在同一个包内,否则当试图装入实现该远程接口的远程对象时会得到错误结果。2) 远程对象扩展java.rmi.Remot

zcjl的专栏 1600

Java出现access denied java.net.SocketPermission解决方法

1.执行java PerfectTime出现异常  java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:2005 connect,resolve) 无法解析和连接到127.0.0.1的2005端口上,原因是在PerfectTime中设置了安全管理器<System.setSecurityManager(new RMISecurityManager());>,可是又没有设置访问的

【欢迎关注公众号:冬瓜白】 3848

开源项目RMI常见问题解决方案

开源项目RMI常见问题解决方案 项目基础介绍 RMI(Recursive Model Index)是一个递归模型索引的参考实现,它基于2017年Kraska等人提出的“Learned Index Structures”概念。RMI是一种利用机器学习技术构建的近似索引函数,用于快速搜索排序数据。与传统的二叉搜索树等数据结构相比,RMI在经过适当调优后,可以提供更快的查找速度和更小的内存占用。但需要注...

gitblog_00504的博客 523

linux环境下的rmi常见问题

linux环境下的rmi常见问题 问题一:RMI服务提供程序运行在Windows操作系统下,RMI服务可以正常访问,但将RMI服务提供程序部署到Linux操作系统下后,RMI服务无法访问,提示 org.springframework.remoting.RemoteConnectFailureException: Cannot connect to remote service [rmi:/

落叶翩翩的CSDN博客 4184

Java RMI 例子 和一些常见问题

看到设计模式代理模式时,有个RMI的例子,虽然概念上比较简单,但是自己动手写个例子验证一下。 依然是经典的 hello world,呵呵。首先是一个客户端和服务端都需要的接口。 import java.rmi.*; public interface MyRemote extends Remote { String sayHello() throws RemoteException...

七月之花的技术专栏 195

转:rmi spring 常见问题解决

http://blog.csdn.net/zhangzeqin0/archive/2011/04/21/6338753.aspx 用 ./shutdown.sh 关闭 rmi 服务器的 tomcat ,然后 ./startup.sh 启动,客户端连接总是会导致如下错误: org.springframework.remoting.RemoteLookupFailureException:...

iteye_5816的博客 760

Docker rmi 命令详解:彻底掌握Docker镜像删除技巧

摘要:《Docker rmi命令详解》全面讲解了Docker镜像删除的核心命令。文章从基础语法和参数说明入手,详细介绍了删除单个/多个镜像、强制删除等使用场景。

✨ 欢迎来到【Seal ^_^ 的CSDN博客】!✨ 1万+

什么是RMI

这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能,本篇分享的是: 【什么是RMI 】 大家好,我是IT修真院北京分院第二十四期的学员白笑然,一枚正直纯洁善良的JAVA程序员 今天给大家 分享一下,修真院官网java任务八,深度思考中的知识点——什么是RMI 1.背景...

IT修真院:初学者转行到互联网的聚集地 815

Java RMI AccessControlException: access denied

http://docs.oracle.com/javase/tutorial/rmi/client.html Java RMI AccessControlException: access denied http://stackoverflow.com/questions/2427473/java-rmi-accesscontrolexception-access-denied

走马观花 1588

什么是rmi?为什么要使用rmi框架?

1.背景介绍 RMI全称是Remote Method Invocation-远程方法调用,是纯Java的网络分布式应用系统的核心解决方案之一。Java RMI 支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。 RMI目前使用Java远程消息交换协议JRMP进行通信。由于JRMP是专为Java对象制定的,用Java RMI开发的应用系统可以部署在任何支持JRE...

IIIidan_Stormrage的博客 1343

RMI的简单使用?

这里是修真院后端小课堂,每篇分享文从 八个方面深度解析后端知识/技能,本篇分享的是: 【RMI的简单使用?】 大家好,我是IT修真院郑州分院第十期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务七,扩展思考中的知识点——RMI的简单使用? 一、背景介绍 RPC (Remote Procedure Call):远程过程调用,用于一个进程调用另一个进程中的过程,从而...

learning__java的博客 463

RMI

收藏题注:个人认为这是我所找到的最好的一篇简单实用可以快速入门的RMI的好文章.背景:   偶参与的一个项目使用了IBM 的workflow 工作流服务器,现在这个系统需要和其他系统做整合,外部的系统需要直接与工作流服务器做操作,查阅了IBM的文档,发现workflow对外提供了java RMI 接口,所以 我摸索了一下java RMI 的使用,整理一份RMI入门的文档,希望给对大家有所帮助。 一

682

RMI 使用感想

在一般java应用和java web应用中可以通过rmi 远程方法调用(需要rmiregistry注册机制),实现调用远程主机jvm上的java对象的方法。

walkingmanc的专栏 6733

【修真院java小课堂】RMI底层实现原理

大家好,我是IT修真院郑州分院第8期学员,一枚正直善良的java程序员。今天给大家分享一下,修真院官网 java任务中可能会使用到的知识点: RMI底层实现原理 【修真院java小课堂】RMI底层实现原理20180706 1.背景介绍 TCP/IP–>JRMP–>RMI TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输...

流火岁月的博客 542
上一篇: 刚刚看到IBM公司的面试题,特发出来,兄弟姐妹们一起讨论答案
下一篇: 对部分不常见的JAVA关键字的探讨
strawren
博客等级 码龄24年 11粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值