2

在 Java EE 6 中,我无法控制线程池,并且在不违反规范的情况下无法创建自己的线程池(使用 java.concurrent)。

所以我的问题是,如果我通过带@Asynchronous注释的方法启动 10000 个线程,服务器是否会以任何方式将其排入队列,或者它是否会尝试一次全部生成(这会非常糟糕)?

或者我应该更好地使用任何特定于 jboss 的功能吗?

我还查看了基于计时器(quarz, @Schedule)的解决方案,这些解决方案并不完全符合我的需要。

4

1 回答 1

2

我将完整引用的JBoss 社区论坛的学分:

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:谷歌是你的朋友:)。第一个结果搜索jboss @asynchronous size

于 2012-12-10T09:45:16.513 回答