JBoss 7 EJB @Asynchronous 线程池最大限制 "exceeded"

JBoss 7 EJB @Asynchronous thread-pool max limit "exceeded"

我有一些带有 @Asynchronous 方法的 EJB。

我想弄清楚当池中配置的所有线程都在处理并且又来一个异步调用时会发生什么?

我在 this post 中找到了一些答案,但它仅适用于 Websphere:

我想知道 JBoss 上发生了什么,以及是否有一些选项可以像在 Websphere 上那样对线程进行排队。

我这样配置线程池:

    <subsystem xmlns="urn:jboss:domain:ejb3:1.2">

       <async thread-pool-name="default"/>

       <thread-pools>  
          <thread-pool name="default">  
              <max-threads count="10"/>  
              <keepalive-time time="100" unit="milliseconds"/>  
          </thread-pool>  
       </thread-pools>  

       ...
    </subsystem>

我尝试在 <thread-pools> 元素中使用 bounded-queue-thread-pool,但它不起作用。

感谢您的帮助

下面是池的描述。

"A thread pool executor with an unbounded queue. Such a thread pool has a core size and a queue with no upper bound. When a task is submitted, if the number of running threads is less than the core size, a new thread is created. Otherwise, the task is placed in queue. If too many tasks are allowed to be submitted to this type of executor, an out of memory condition may occur. The "name”属性为创建的executor的名字,必须使用"max-threads"属性指定线程池大小,可以使用嵌套的"keepalive-time"元素指定池线程在空闲时应保持 运行ning 的时间量;如果未指定,线程将 运行 直到执行程序关闭。"thread-factory" 元素指定一个 bean 名称用于创建工作线程的特定线程子系统线程工厂。通常不会为 EJB3 线程池设置它,而是使用适当的默认线程工厂。"

来源:http://www.jboss.org/schema/jbossas/jboss-as-ejb3_1_2.xsd