2012-12-09 88 views
2

在Java EE 6中,我无法控制线程池,也无法在不破坏规范的情况下创建自己的(使用java.concurrent)。ejb 3.1 JBoss AS 7线程池@异步

所以我的问题是,如果我启动10000线程通过@Asynchronous注释的方法服务器排队这种以任何方式或试图一次产卵(这将结束很糟糕)?

或者是否有我最好应该使用的任何jboss特定功能?

我也看了一下基于定时器(quarz,@Schedule)的解决方案,它不完全符合我的需求。

回答

2

Crerdits到JBoss Community forum至极,我会在全举:

面向EJB3异步调用的线程池的大小是通过在JBOSS_HOME/server/<servername>/deployers/jboss-ejb3-async-deployer.jar/META-INF/ejb3-async-deployer-jboss-beans.xml文件中定义的ExecutorService的控制:

<bean name="org.jboss.ejb3.async.ExecutorService" class="org.jboss.threads.JBossScheduledThreadPoolExecutor"> 
    <constructor> 
     <parameter>10</parameter> 
    </constructor> 
    </bean> 

正如你所看到的默认值是10,但你可以改变它。

PS:Google是你的朋友:)。第一个结果搜索jboss @asynchronous size

+0

谢谢!将记住你的谷歌。 :) – mkuff

+0

不客气。问候 –