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