14.4 ManagedExecutorServiceの設定
アプリケーションサーバがデフォルトで登録する「java:comp/DefaultManagedExecutorService」は,「concurrent/ __defaultManagedExecutorService」というJNDI名であらかじめ定義されています。それ以外にユーザ定義のManagedExecutorServiceを作成する場合は,次に示すプロパティに,ルックアップに使用するJNDI名を半角コンマ区切りで指定します。
ejbserver.javaee.concurrent.managedExecutorService.jndiNames
デフォルトで登録されているJNDI名「concurrent/__defaultManagedExecutorService」および上記のプロパティでユーザが定義したJNDI名のManagedExecutorServiceに対して,ManagedExecutorServiceのチューニングをするユーザプロパティを次の表に示します
プロパティ名 |
指定内容 |
デフォルト値 |
---|---|---|
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.corePoolSize |
初期スレッド数 |
16 |
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.maxPoolSize |
最大スレッド数 |
16 |
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.taskQueueCapacity |
キューに待機可能なタスクの最大数 |
2147483647 |
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.hungAfterSeconds |
longRunningTasksがfalseの場合に,無応答と判断されるまでのスレッド実行時間(単位:秒)。0以下の場合は無応答と判断されません。 |
0 |
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.longRunningTasks |
長時間実行用のタスクかどうかを指定します。 falseの場合,タスク実行開始からhungAfterSeconds経過してもタスクが終了していないときは無応答と判定されます。trueの場合は判定しません。 |
false |
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.threadLifeTimeSeconds |
利用しなくなったスレッドを破棄するまでの時間(単位:秒)。0の場合は破棄しません(常に再利用します)。 |
0 |
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.threadPriority |
生成したスレッドのPriorityを1〜10の範囲で指定します。 |
5 |
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.keepAliveSeconds |
最小スレッド数を超えた使用後のスレッドを,再利用するまで待機する最長時間(単位:秒)。 |
60 |
ejbserver.javaee.concurrent.managedExecutorService.<JNDI名>※.awaitTerminationSeconds |
2EEサーバ停止時に実行中のタスクが終了するまで待機する最大待機時間(単位:秒)。0を指定した場合はタスクの終了を待たないで強制終了します。 |
0 |
ユーザプロパティの詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。