2

Java EE 6では、スレッドプールを制御できず、仕様に違反せずに(java.concurrentを使用して)独自のスレッドプールを作成することはできません。

だから私の質問は、@Asynchronous注釈付きのメソッドで10000スレッドを起動した場合、サーバーはこれを何らかの方法でキューに入れますか、それとも一度にすべてを生成しようとしますか(これはかなり悪い結果になります)?

または、使用すべきjboss固有の機能はありますか?

また、タイマーベースの(quarz、@Schedule)ソリューションも調べましたが、これは私が必要としているものとは異なります。

4

1 に答える 1

2

完全に引用するJBossコミュニティフォーラムへのクレディット:

JBOSS_HOME/server/<servername>/deployers/jboss-ejb3-async-deployer.jar/META-INF/ejb3-async-deployer-jboss-beans.xmlEJB3非同期呼び出しのスレッドプールサイズは、ファイルで定義されている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 に答える