在 Java EE 6 中,我无法控制线程池,并且无法在不违反规范的情况下创建自己的线程池(使用 java.concurrent)。
所以我的问题是我是否在 @Asynchronous
上启动 10000 个线程带注释的方法服务器是否以任何方式对此进行排队,或者是否尝试一次生成所有内容(这将非常糟糕)?
或者有什么 jboss 特定功能是我最好使用的吗?
我还查看了基于计时器(quarz,@Schedule
)的解决方案,这并不完全是我所需要的。
最佳答案
归功于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 是你的 friend :)。第一个搜索结果 jboss @asynchronous size
关于java - ejb 3.1 JBoss AS 7 线程池@异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13791566/