rmi参数

来源:互联网 发布:电脑查询快捷键软件 编辑:程序博客网 时间:2024/06/05 04:04

  • sun.rmi.dgc.checkInterval
查询契约间隔时间,单位为ms,默认值 是java.rmi.dgc.leaseValue值的一半。
优化:尽早的删除引用有利于管理内存,但leaseValue太短的话又会造成网络风险。
  • java.rmi.dgc.leaseValue
契约时间,ms,默认值是10min。
  • sun.rmi.dgc.server.gcInterval
ms,默认值是1小时,定义java RMI runtime允许本地heap执行垃圾回收的时间间隔。
  • sun.rmi.dgc.ackTimeout
ms,默认值5分钟,服务器端将结果返回给客户端,并持续尝试设置一个引用指向。如果Client拿到结果后,没有告诉Server端,服务端将持续引用5分钟。
  • java.rmi.server.disableHttp
禁用http,连接的建立可以是rmi自己专用的那一套,如果建立失败,则会尝试用http。若禁用了这一项,你便可以在很短的时间内看到你是否连接成功。
  • sun.rmi.transport.tcp.maxConnectionThreads
连接池的大小,默认为无限制。
  • sun.rmi.transport.tcp.threadKeepAliveTime
默认1分钟,回收到池里的连接将在一分钟后关闭。
  • sun.rmi.transport.tcp.readTimeout
等待即将到达的连接所消耗的时间,默认等的最长时间为两个小时。
  • sun.rmi.transport.tcp.responseTimeout
此参数不为0时,如果server端运算时间过长,则相关的调用就会失败。
  • sun.rmi.transport.tcp.handshakeTimeout
定义客户端建立连接时socket握手协议时的超时时间,默认为1分钟。

关于DGC: 
当客户端获得了一个服务器端的远程对象存根时,就会向服务器发送一条租约通知,告诉服务器自己持有这个远程对象的引用了。此租约有一个租约期限,租约期限可通过系统属性 java.rmi.dgc.leaseValue来设置,以毫秒为单位,其默认值为600 000毫秒。当到达了租约期限的一半时间,客户端如果还持有远程引用,就会再次向服务器发送租约通知。如果租约到期后服务器端没有继续收到客户端的新的租约通知,服务器端就会认为这个客户已经不再持有远程对象的引用。 


0 0