@Published(tag="architect") public abstract class AbstractExecutorServiceFactory extends java.lang.Object implements ExecutorServiceFactory, Initializable
ExecutorServiceFactory
の実装をサポートする抽象クラス。
ExecutorServiceFactory
の実装クラスで共通となる処理を提供する。Modifier and Type | Field and Description |
---|---|
static long |
DEFAULT_TIMEOUT_SECOND
デフォルトのタイムアウト(秒)
|
protected java.util.concurrent.ExecutorService |
executorService
ExecutorService |
protected long |
timeoutSecond
タイムアウト(秒)
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
awaitTermination()
スレッド終了を待つ。
|
protected abstract java.util.concurrent.ExecutorService |
createExecutorService()
ExecutorService インスタンスを生成する。
サブクラスにて、インスタンスを生成、必要な設定を行うこと。 |
java.util.concurrent.ExecutorService |
getExecutorService()
ExecutorService を取得する。 |
void |
initialize()
初期化処理を行う。
|
protected boolean |
needsShutdown()
シャットダウン処理を行う必要があるかどうか判定する。
|
void |
setTimeoutSecond(long timeoutSecond)
スレッドの停止を待機する時間(秒)を設定する。
|
void |
shutdownService()
シャットダウンを行う。
|
void |
startShutdownService()
シャットダウンを開始する。
このメソッド起動後は、以降の要求は受け付けられない。
|
public static final long DEFAULT_TIMEOUT_SECOND
protected long timeoutSecond
protected java.util.concurrent.ExecutorService executorService
ExecutorService
public void initialize()
Initializable
initialize
in interface Initializable
protected abstract java.util.concurrent.ExecutorService createExecutorService()
ExecutorService
インスタンスを生成する。
サブクラスにて、インスタンスを生成、必要な設定を行うこと。ExecutorService
インスタンスpublic java.util.concurrent.ExecutorService getExecutorService()
ExecutorServiceFactory
ExecutorService
を取得する。getExecutorService
in interface ExecutorServiceFactory
ExecutorService
public void startShutdownService()
ExecutorServiceFactory
startShutdownService
in interface ExecutorServiceFactory
public void shutdownService()
ExecutorServiceFactory
shutdownService
in interface ExecutorServiceFactory
protected boolean awaitTermination()
ExecutorService.awaitTermination(long, TimeUnit)
の戻り値java.lang.InterruptedException
- 割り込みが発生した場合protected boolean needsShutdown()
public void setTimeoutSecond(long timeoutSecond)
timeoutSecond
- スレッドの停止を待機する時間