`
vipcowrie
  • 浏览: 352083 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
1167aa84-228b-38f8-88a0-4733613efdef
让Java跑起来
浏览量:64753
文章分类
社区版块
存档分类
最新评论

解决no security manager: RMI classloader disable

阅读更多
[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]
7
1
分享到:
评论

相关推荐

    一个RMI实例

    RMI(Remote Method Invocation,远程方法调用)是Java平台上的一个重要特性,它允许Java对象在不同的JVM之间进行通信,实现分布式计算。这个“一个RMI实例”显然是一个供初学者使用的示例项目,可以帮助理解RMI的...

    JMX以RMI方式连接的场景示例

    JMX以RMI方式连接的场景示例 JMX(Java Management Extensions)是一种Java技术,用于管理和监控应用程序。JMX框架主要由三部分组成:MBean(Managed Bean)、Agent(代理)和Client(客户端)。在本场景中,我们将...

    用Java:rmi+状态模式简单实现网络五子棋+发送消息

    用Java:rmi+状态模式简单实现网络五子棋+发送消息 编译后,在class文件所在的文件夹里,dos命令执行 1》start rmiregistry 2》start java -Djava.security.policy=policy Server 3》start java Play

    Java分布式处理技术RMI,JNDI,

    Java 分布式处理技术 RMI,JNDI Java 分布式处理技术是指在 Java 平台上实现分布式计算和对象之间的交互的技术。其中,RMI(Remote Method Invocation)是 Java 分布式处理技术的核心组件之一。RMI 允许在不同的 ...

    javaRMI完整版.pdf

    Java RMI 完整版 Java Remote Method Invocation(RMI...在 Java 分布式计算解决方案中,RMI 和 CORBA 均扮演着重要的角色。RMI 提供了简单而直接的分布式计算途径,而 CORBA 则提供了一个更为复杂的分布式对象系统。

    使用RMI远程连接JVM.用JMX获取JVM的参数

    在Java世界中,远程方法调用(Remote Method Invocation, RMI)和Java管理扩展(Java Management Extensions, JMX)是两个强大的工具,用于管理和监控分布式系统。本文将深入探讨如何利用RMI远程连接到Java虚拟机...

    Rmi示例 Rmi代码示例

    RMI(Remote Method Invocation,远程方法调用)是Java平台中的一个重要特性,它允许Java对象在不同的Java虚拟机之间进行通信,实现分布式计算。RMI是Java开发分布式应用程序的基础,尤其在构建分布式服务和微服务...

    RMI教程-入门经典

    Java RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种分布式计算技术,它允许Java对象在不同的Java虚拟机之间进行通信,仿佛这些对象都在同一台机器上。RMI是构建分布式应用程序的关键组件,...

    Java RMI中文规范

    Java RMI(Remote Method Invocation,远程方法调用)是Java平台中用于构建分布式对象系统的关键技术。它允许Java应用程序在不同Java...通过深入理解RMI的原理和特性,开发者可以构建出高效、可靠的分布式解决方案。

    AlumnosRMI:RMI数据库访问项目

    【标题】"AlumnosRMI:RMI数据库访问项目"是一个使用Java Remote Method Invocation (RMI) 技术...此外,实际操作RMI项目也能提升开发者解决分布式问题的能力,为未来从事Java后端开发或分布式系统设计打下坚实基础。

    JAVA RMI.rar_Java RMI_ME_RMI java_rmi

    Java Remote Method Invocation (RMI) 是Java平台中用于构建分布式应用程序的一种重要技术。RMI允许Java对象在不同的Java虚拟机(JVM)之间调用方法,从而实现了远程对象的透明访问。这个RAR文件"JAVA RMI.rar"包含...

    Rmi.rar_Java RMI_RMI java_java RMI 线程_rmi

    8. **安全性(Security)**:RMI支持基于Java Security Manager的安全模型,可以通过设置策略文件控制客户端和服务器之间的权限。 9. **性能优化(Performance Optimization)**:RMI提供了许多优化手段,如持久化...

    关于java RMI分布式程序开发实例

    Java RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种用于构建分布式应用程序的技术。它允许Java对象在不同的 JVM(Java虚拟机)之间进行交互,仿佛它们是在同一个内存空间内一样。这个实例将带...

    RMI SpringRMI API

    4. **客户端调用**:在客户端,你可以通过指定的URL(例如`rmi://192.168.2.3:80/Hello`)来查找并调用远程接口的方法。 **Spring整合RMI**主要是为了简化RMI应用的配置和管理。具体步骤包括: 1. **定义接口**:...

    RMI的课程课件

    4. RMI的挑战与解决方案 - 安全性:RMI默认允许任何远程调用,可能存在安全风险。可以通过配置JVM参数或使用SSL加密来增强安全性。 - 性能:由于序列化和反序列化的过程,RMI可能对性能产生影响。优化的对象序列化...

    jboss4.0.5-GA在使用RMI时的大坑

    压缩包中的"jboss+classloader分享.ppt"很可能包含了一个关于JBOSS类加载机制的详细讲解,这将有助于理解类加载如何影响RMI的使用,以及如何解决相关的类冲突问题。这个PPT可能涵盖了以下内容: - JBOSS类加载层次...

    JDK15-java-remote-method-invocation-api-guide.pdf

    3. 安全管理器:在使用 RMI 时,需要在客户端或服务器上启用安全管理器, see The Security Manager。 4. 安全政策:制定合理的安全政策,例如,grant SocketPermission,仅允许在 RMI 通信的主机之间进行listen、...

Global site tag (gtag.js) - Google Analytics