`

解决RMI调用timeout的问题

 
阅读更多
最近遇到一个问题, 某系统, 有外部系统通过RMI调用来访问此系统. 现在有一个问题是, 如果当此系统某调用花费时间过长, 那么就需要使此次调用timeout. 而默认地, timeout的时间是2小时, 现在需要找到一种办法缩短这个时间.

解决办法
查阅资料发现, 可以设置sun.rmi.transport.tcp.responseTimeout(Java1.4 and above)来达到这个效果. 在Sun RMI上测试通过.

测试方法, 首先, 让某remote method执行2分钟左右, 模拟一个long time method.
 1 public void aMethod() throws RemoteException {
 2     
 3     //long time op.
 4     try {
 5         Thread.sleep(100000L);
 6     }catch (Exception e) {
 7         e.printStackTrace();
 8     }
 9     
10     System.out.println("It's a long time method.");
11     
12 }

在客户端执行调用的时候使用如下代码, 则可以避免2分钟的调用等待, 使其尽快timeout, 释放资源.
1 java -Dsun.rmi.transport.tcp.responseTimeout=50 mongoose.TestClient


相关资料
Re: Is there timeout parameter
Re: socket timeouts taking 2 hours
FAQ of RMI
Does RMI have a timeout period...
Connection reset
sun.rmi Properties


分享到:
评论

相关推荐

    Spring-RMI (RMI调用, HTTP调用)

    Spring-RMI (RMI调用, HTTP调用) 本人测试过了

    RMI远程方法调用RMI远程方法调用

    RMI远程方法调用RMI远程方法调用RMI远程方法调用RMI远程方法调用RMI远程方法调用

    RMI远程过程调用

    RMI采用JRMP(Java Remote Method Protocol)通讯协议,是构建在TCP/IP协议上的一种远程调用方法。它允许运行在一个Java虚拟机上的对象调用运行在另一个Java虚拟机上的对象方法,从而使编程人员可以方便地在网络环境...

    分布式 RMI远程调用

    这个是基于C#的 RMI远程方法调用 这个是基于C#的 RMI远程方法调用这个是基于C#的 RMI远程方法调用

    rmi调用架构设计

    rmi调用架构设计

    java rmi远程调用

    最近在学习代理模式,用到了java rmi远程调用,包含服务端和客户端,之前一直没有接触过,学习了java rmi远程调用,一方面可以了解代理模式,一方面熟悉java低层的远程

    RMI_TIME_Show.zip_ RMI_TIME_Show_show

    模拟实现分布式RMI调用时间显示,在两台电脑上实现,运用分布式RMI调用和回调,在Windows命令行下操作.

    rmi技术客户端调用服务器的函数解决问题

    rmi技术客户端调用服务器的函数解决问题 刚刚开始准备这个rmi作业的时候,我都有点无从下手。于是我先开始一起找资料,看书,经过不断的尝试编码,以及总结错误,为后期的工作奠定了基础。 在基础知识基本搞定的...

    java rmi远程方法调用 客户端

    rmi 远程方法调用 客户端

    RMI远程方法调用

    用JAVA程序实现RMI,实现客户端和服务器间的时间同步,并计算出两端的时间差

    RMI远程调用代码及使用方法

    RMI简单远程调用,实现数字相加!代码简单易懂

    RMI实现的远程调用

    用java的rmi实现的 远程调用。希望对阁下有用

    Java-远程方法调用RMI参数详解.docx

    本文档主要讲述的是Java 远程方法调用RMI参数详解;根据RMI参数意义,可以归结为以下几点,我们可以根据这几点通过优化GC, 网络等待,流传输协议(http/rmi special socket)等方面来优化RMI。

    java调用RMI小结

    有很多关于rmi的调用说明,在最后的运行时总是不太详细,通过多方查阅,写了一段代码,供大家参考,希望对大家有帮助。

    RMI远程调用视频教材

    RMI是Remote Method Invocation(远程方法调用)的 所写。它允许一个Java程序调用网络中另一台计算机上的Java方法,就如调用本机的方法一样。实现RMI调用的程序和被调用的方法,都必须是Java代码,即客户端和服务器...

    RMI远程调用

    RMI远程调用,之前做的Demo希望对大家有所帮助!

    rmi远程调用读取文件

    rmi远程调用读取文件,以及各种简单的例子

    java 实现RMI远程调用

    实现java RMI 远程调用,包括 RMIServer RMIClient源码,测试用例。

    利用RMI异步调用

    NULL 博文链接:https://buralin.iteye.com/blog/1389172

    spring RMI 远程接口调用

    spring RMI 远程接口调用 包含服务端客户端程序,可完整运行

Global site tag (gtag.js) - Google Analytics