[size=medium]no security manager: RMI classloader disabled
解决方法:
1)在rmi server提供了一个远程方法
void test(TheBaseObject o) throws RemoteException;
TheBaseObject 类就在rmi server的jar包中
2)在rmi client执行:
IRemoteServer rs = (IRemoteServer)Naming.lookup("xxxx");
TheBaseObject o = new TheExtendedObject();
rs.test(o)
[size=medium][/size]
TheExtendedObject 继承自TheBaseObject,但是在另外一个jar包中,在rmi client的classpath内能找到此类。
执行后抛出异常:
classNotFound :TheExtendedObject no security manager: RMI classloader disabled
于是改用
TheBaseObject o = new TheBaseObject();
执行后正常。
3)定位:原因在于TheExtenedObject类不在rmi server的jar包或者classpath中,于是拷贝此类
到rmi server中,再次执行,OK
4)分析:在rmi client提交此类,由于要序列化后传递到RMI server,其需要反序列化得到实例,前提是能找到此类的定义,但是classpath又找不到,所以出现上述问题,经过拷贝解决 问题。[/size]
分享到:
相关推荐
RMI(Remote Method Invocation,远程方法调用)是Java平台上的一个重要特性,它允许Java对象在不同的JVM之间进行通信,实现分布式计算。这个“一个RMI实例”显然是一个供初学者使用的示例项目,可以帮助理解RMI的...
JMX以RMI方式连接的场景示例 JMX(Java Management Extensions)是一种Java技术,用于管理和监控应用程序。JMX框架主要由三部分组成:MBean(Managed Bean)、Agent(代理)和Client(客户端)。在本场景中,我们将...
用Java:rmi+状态模式简单实现网络五子棋+发送消息 编译后,在class文件所在的文件夹里,dos命令执行 1》start rmiregistry 2》start java -Djava.security.policy=policy Server 3》start java Play
Java 分布式处理技术 RMI,JNDI Java 分布式处理技术是指在 Java 平台上实现分布式计算和对象之间的交互的技术。其中,RMI(Remote Method Invocation)是 Java 分布式处理技术的核心组件之一。RMI 允许在不同的 ...
Java RMI 完整版 Java Remote Method Invocation(RMI...在 Java 分布式计算解决方案中,RMI 和 CORBA 均扮演着重要的角色。RMI 提供了简单而直接的分布式计算途径,而 CORBA 则提供了一个更为复杂的分布式对象系统。
在Java世界中,远程方法调用(Remote Method Invocation, RMI)和Java管理扩展(Java Management Extensions, JMX)是两个强大的工具,用于管理和监控分布式系统。本文将深入探讨如何利用RMI远程连接到Java虚拟机...
RMI(Remote Method Invocation,远程方法调用)是Java平台中的一个重要特性,它允许Java对象在不同的Java虚拟机之间进行通信,实现分布式计算。RMI是Java开发分布式应用程序的基础,尤其在构建分布式服务和微服务...
Java RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种分布式计算技术,它允许Java对象在不同的Java虚拟机之间进行通信,仿佛这些对象都在同一台机器上。RMI是构建分布式应用程序的关键组件,...
Java RMI(Remote Method Invocation,远程方法调用)是Java平台中用于构建分布式对象系统的关键技术。它允许Java应用程序在不同Java...通过深入理解RMI的原理和特性,开发者可以构建出高效、可靠的分布式解决方案。
【标题】"AlumnosRMI:RMI数据库访问项目"是一个使用Java Remote Method Invocation (RMI) 技术...此外,实际操作RMI项目也能提升开发者解决分布式问题的能力,为未来从事Java后端开发或分布式系统设计打下坚实基础。
Java Remote Method Invocation (RMI) 是Java平台中用于构建分布式应用程序的一种重要技术。RMI允许Java对象在不同的Java虚拟机(JVM)之间调用方法,从而实现了远程对象的透明访问。这个RAR文件"JAVA RMI.rar"包含...
8. **安全性(Security)**:RMI支持基于Java Security Manager的安全模型,可以通过设置策略文件控制客户端和服务器之间的权限。 9. **性能优化(Performance Optimization)**:RMI提供了许多优化手段,如持久化...
Java RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种用于构建分布式应用程序的技术。它允许Java对象在不同的 JVM(Java虚拟机)之间进行交互,仿佛它们是在同一个内存空间内一样。这个实例将带...
4. **客户端调用**:在客户端,你可以通过指定的URL(例如`rmi://192.168.2.3:80/Hello`)来查找并调用远程接口的方法。 **Spring整合RMI**主要是为了简化RMI应用的配置和管理。具体步骤包括: 1. **定义接口**:...
4. RMI的挑战与解决方案 - 安全性:RMI默认允许任何远程调用,可能存在安全风险。可以通过配置JVM参数或使用SSL加密来增强安全性。 - 性能:由于序列化和反序列化的过程,RMI可能对性能产生影响。优化的对象序列化...
压缩包中的"jboss+classloader分享.ppt"很可能包含了一个关于JBOSS类加载机制的详细讲解,这将有助于理解类加载如何影响RMI的使用,以及如何解决相关的类冲突问题。这个PPT可能涵盖了以下内容: - JBOSS类加载层次...
3. 安全管理器:在使用 RMI 时,需要在客户端或服务器上启用安全管理器, see The Security Manager。 4. 安全政策:制定合理的安全政策,例如,grant SocketPermission,仅允许在 RMI 通信的主机之间进行listen、...