寻找客户端上本地java CORBA的超时属性

我使用的是原生自带Java的 CORBA (ORB),不使用第三方库。

我需要超时CORBA客户端属性 ,以便在客户端设置超时并限制连接保持打开的时间; 应该为所有情况设置,以限制最大请求时间:

  • 初始化连接

  • 重新绑定连接

  • 总请求时间

  • 我正在测试睡眠服务器(在服务器方法逻辑中),并且客户端根本没有超时

    在网上找到适当的文档非常困难; 我试图使用以下所有属性,但无济于事:

    aProperties.put(“com.sun.CORBA.transport.ORBTCPReadTimeouts”,“100:300:3000:20”); aProperties.put(“com.sun.corba.eetransport.ORBTCPTimeouts”,“500:2000:50:1000”); aProperties.put(“com.sun.corba.ee.transport.ORBWaitForResponseTimeout”,10);

    为了更清楚起见,在这些属性(上面)旁边使用属性org.omg.CORBA.ORBInitialHostorg.omg.CORBA.ORBInitialPort设置主机和端口。

    任何帮助表示赞赏:)


    我可以确认glassfish 3.1.2.2中某些CORBA属性中的建议解决方案被忽略了。

    所需的系统属性可以设置为java命令参数

    java -Dcom.sun.corba.ee.transport.ORBWaitForResponseTimeout=5000 -Dcom.sun.corba.ee.transport.ORBTCPConnectTimeouts=100:500:100:500 -Dcom.sun.corba.ee.transport.ORBTCPTimeouts=500:2000:50:1000 -cp ..
    

    或者在你的代码中

    System.setProperty("com.sun.corba.ee.transport.ORBWaitForResponseTimeout","5000");
    

    必须将ORB参数设置为系统属性。 如果用作InitialContext的Properties,则它们不起作用。


    阅读此Oracle博客,了解有关暂停的更多信息。 这对我帮助很大。

    com.sun.corba.ee.impl.orbutil.ORBConstants中有许多ORB配置参数(请注意,这是GlassFish ORB,而不是JDK ORB)。 与运输超时有关的常量是:

  • TRANSPORT_TCP_TIMEOUTS_PROPERTY
  • 这将控制ORB读取数据时的重试行为,并且不会一次获取所有数据。 它是TcpTimeouts的一个实例。 默认值是2000:6000:20。

  • TRANSPORT_TCP_CONNECT_TIMEOUTS_PROPERTY
  • 这是与这个讨论有关的一个。 它控制着ORB在尝试连接到IOR(EJB引用的wire rep)时在客户端的行为。 这也是TcpTimeouts的一个实例。 默认值是250:60000:100:5000。

  • WAIT_FOR_RESPONSE_TIMEOUT
  • 这将控制客户端成功发送请求后等待响应的时间。 默认值是30分钟。 两个TcpTimeouts都使用相同的语法进行配置:

    initial:max:backoff [:maxsingle] (一系列由3或4个正整数组成的小数整数:)

    哪里:

  • initial是以毫秒为单位的第一个超时
  • max是最大等待时间(在最后一次等待之前,可以超过此时间),以毫秒为单位
  • 退避是每次增加超时的退避因子(乘法实际上由(退避+ 100)/ 100,所以20为1.2和100为2,但我们在这里避免使用浮点)。 这通常应该在10到100之间。
  • maxsingle是最大的单一等待时间。 这是可选的,如果未定义,则默认为Integer.MAX_VALUE。
  • 这工作如下:

    第一次超时持续最初的毫秒。 每个后续超时都是从前一次乘以退避因子获得的(如上所述)没有超时可以超过maxsingle毫秒:一旦达到此值,任何后续超时都具有相同的值。 在上次超时之前花费的总时间少于最大值。 请注意,上次超时可能会导致总时间超过最大值。

    链接地址: http://www.djcxy.com/p/71979.html

    上一篇: Looking for the timeout properties of native java CORBA on the client

    下一篇: nonrel with mongodb relations