是否存在Sun / Oracle CORBA实现的任何线程池以及如何配置它?

时间:2014-09-17 21:16:04

标签: java multithreading threadpool corba orb

我想知道我的CORBA服务器可以同时处理多少客户端请求

  1. 服务器是否为每个新客户端请求创建一个新线程?
  2. 有线程池吗?
  3. 默认线程池大小是多少?
  4. 如果达到最大尺寸会怎样?新线程是否在队列中等待?
  5. 池中非活动线程(已经用于客户端的线程)的空闲时间是多少?
  6. 我们是否可以配置这些参数(池大小和空闲时间)?
  7. 我做了很多研究,但我没有找到Sun / Oracle官方CORBA实施(JDK)这些问题的真实答案。在Oracle文档(link)中,我们可以看到: 的 -Djava.naming.factory.initial = com.sun.appserv.naming.S1ASCtxFactory -Dcom.sun.appserv.iiop.orbconnections =值

    =>我不确定这个参数究竟是什么,这个参数也可能与所有JVM不兼容,它的默认值是" one"。

    我知道对于RMI,有一个" sun.rmi.transport.tcp.maxConnectionThreads "用于更改默认线程池大小的参数(已经是"无限制")。非活动线程的空闲时间是1分钟...... RMI的灵感来自CORBA,所以Sun / Oracle可能会为它们设置相同的参数吗?

    由于

1 个答案:

答案 0 :(得分:0)

  1. 服务器是否为每个新客户端请求创建一个新线程?
  2. Sun CORBA实现有线程池。

    1. 是否有线程池?
    2. 是。 Sun CORBA实现具有线程池。

      1. 什么是默认的线程池大小?
      2. 您不必担心这一点。

        1. 如果达到最大尺寸会怎样?新线程是否在队列中等待?
        2. 我使用JacORB,其默认大小为100,而在之前的版本(JacORB 2.2.2)中,客户端在服务器达到此大小时始终被杀死。

          1. 池中非活动线程(已经用于客户端的线程)的空闲时间是多少?
          2. 不知道。我认为实现使用线程池。

            1. 我们是否可以配置这些参数(池大小和空闲时间)?
            2. 不知道。我想你不用担心它。

              **我认为JacORB比SUN的实施更好。它有CORBA 2.3。

              **警告:您需要担心Local ThreadLocal。因为当客户端的请求结束时,线程返回到线程池,所以你可以在一个新请求ThreadLocal中获取一些数据。