クラス ScheduledExecutorFactoryBean
- 実装されているすべてのインターフェース:
- SerializableSE、- ThreadFactorySE、- EventListenerSE、- Aware、- BeanNameAware、- DisposableBean、- FactoryBean<ScheduledExecutorServiceSE>、- InitializingBean、- ApplicationContextAware、- ApplicationListener<ContextClosedEvent>、- Lifecycle、- Phased、- SmartLifecycle
ScheduledExecutorServiceSE(デフォルト: ScheduledThreadPoolExecutorSE)をセットアップし、Bean 参照用に公開する FactoryBean。ScheduledExecutorTasks の登録を許可し、初期化時に ScheduledExecutorServiceSE を自動的に開始し、コンテキストの破棄時にキャンセルします。起動時にタスクの静的登録のみが必要なシナリオでは、アプリケーションコードで ScheduledExecutorServiceSE インスタンス自体にアクセスする必要はまったくありません。ScheduledExecutorFactoryBean は、ライフサイクル統合に使用されています。
 別の方法として、コンストラクターインジェクションを使用して ScheduledThreadPoolExecutorSE インスタンスを直接セットアップするか、ExecutorsSE クラスを指すファクトリメソッド定義を使用することができます。 これは特に、構成クラスの一般的な @Bean メソッドに強くお勧めします。この FactoryBean バリアントでは、ScheduledExecutorService の代わりに FactoryBean 型を強制的に返すことになります。
ScheduledExecutorServiceSE は、実行ごとに新しいジョブをインスタンス化する Quartz とは対照的に、繰り返し実行間で共有される RunnableSE インスタンスを使用することに注意してください。
 警告 : ネイティブ ScheduledExecutorServiceSE を介して送信された RunnablesSE は、例外をスローすると、実行スケジュールから削除されます。このような例外の後も実行を継続する場合は、この FactoryBean の "continueScheduledExecutionAfterException" プロパティを "true" に切り替えます。
- フィールドのサマリー- クラス org.springframework.scheduling.concurrent.ExecutorConfigurationSupport から継承されたフィールド- logger- インターフェース org.springframework.beans.factory.FactoryBean から継承されたフィールド- OBJECT_TYPE_ATTRIBUTE- インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド- DEFAULT_PHASE
- コンストラクターの概要コンストラクター
- メソッドのサマリー修飾子と型メソッド説明- protected ScheduledExecutorServiceSE- createExecutor- (int poolSize, ThreadFactorySE threadFactory, RejectedExecutionHandlerSE rejectedExecutionHandler) 新しい- ScheduledExecutorServiceSE インスタンスを作成します。このファクトリによって管理されるオブジェクトのインスタンス(おそらく共有または独立)を返します。- ClassSE<? extends ScheduledExecutorServiceSE>この FactoryBean が作成するオブジェクトの型を返します。事前にわからない場合は- nullを返します。- protected RunnableSE特定のタスクをスケジュールする実際の Runnable を決定します。- protected ExecutorServiceSE- initializeExecutor- (ThreadFactorySE threadFactory, RejectedExecutionHandlerSE rejectedExecutionHandler) ターゲット- ExecutorServiceSE インスタンスを作成します。- booleanこのファクトリによって管理されるオブジェクトはシングルトンですか? つまり、- FactoryBean.getObject()は常に同じオブジェクト(キャッシュ可能な参照)を返しますか?- protected void- registerTasks- (ScheduledExecutorTask[] tasks, ScheduledExecutorServiceSE executor) 指定された- ScheduledExecutorTasksを指定された- ScheduledExecutorServiceSE に登録します。- void- setContinueScheduledExecutionAfterException- (boolean continueScheduledExecutionAfterException) 例外をスローした後、スケジュールされたタスクの実行を継続するかどうかを指定します。- void- setExposeUnconfigurableExecutor- (boolean exposeUnconfigurableExecutor) この FactoryBean が、作成されたエグゼキューターの構成不可能なデコレーターを公開するかどうかを指定します。- void- setPoolSize- (int poolSize) ScheduledExecutorService のプールサイズを設定します。- void- setRemoveOnCancelPolicy- (boolean removeOnCancelPolicy) - ScheduledThreadPoolExecutorSE でキャンセル時に削除モードを設定します。- void- setScheduledExecutorTasks- (ScheduledExecutorTask... scheduledExecutorTasks) ScheduledExecutorTask オブジェクトのリストを、この FactoryBean が作成する ScheduledExecutorService に登録します。- クラス org.springframework.scheduling.concurrent.ExecutorConfigurationSupport から継承されたメソッド- afterExecute, afterPropertiesSet, beforeExecute, cancelRemainingTask, destroy, getPhase, initialize, initiateEarlyShutdown, initiateShutdown, isRunning, onApplicationEvent, setAcceptTasksAfterContextClose, setApplicationContext, setAwaitTerminationMillis, setAwaitTerminationSeconds, setBeanName, setPhase, setRejectedExecutionHandler, setThreadFactory, setThreadNamePrefix, setWaitForTasksToCompleteOnShutdown, shutdown, start, stop, stop- クラス org.springframework.scheduling.concurrent.CustomizableThreadFactory から継承されたメソッド- newThread- クラス org.springframework.util.CustomizableThreadCreator から継承されたメソッド- createThread, getDefaultThreadNamePrefix, getThreadGroup, getThreadNamePrefix, getThreadPriority, isDaemon, nextThreadName, setDaemon, setThreadGroup, setThreadGroupName, setThreadPriority- クラス java.lang.ObjectSE から継承されたメソッド- clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE- インターフェース org.springframework.context.ApplicationListener から継承されたメソッド- supportsAsyncExecution- インターフェース org.springframework.context.SmartLifecycle から継承されたメソッド- isAutoStartup
- コンストラクターの詳細- ScheduledExecutorFactoryBeanpublic ScheduledExecutorFactoryBean()
 
- メソッドの詳細- setPoolSizepublic void setPoolSize- (int poolSize) ScheduledExecutorService のプールサイズを設定します。デフォルトは 1 です。
- setScheduledExecutorTasksScheduledExecutorTask オブジェクトのリストを、この FactoryBean が作成する ScheduledExecutorService に登録します。各 ScheduledExecutorTask の設定に応じて、ScheduledExecutorService のスケジュール方法の 1 つを介して登録されます。- 関連事項:
- ScheduledExecutorService.schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit)SE
- ScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)SE
- ScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)SE
 
 
- setRemoveOnCancelPolicypublic void setRemoveOnCancelPolicy- (boolean removeOnCancelPolicy) - ScheduledThreadPoolExecutorSE でキャンセル時に削除モードを設定します。- デフォルトは - falseです。- trueに設定されている場合、ターゲットエグゼキューターはキャンセル時に削除モードに切り替えられます(可能な場合は、ソフトフォールバックが使用されます)。
- setContinueScheduledExecutionAfterExceptionpublic void setContinueScheduledExecutionAfterException- (boolean continueScheduledExecutionAfterException) 例外をスローした後、スケジュールされたタスクの実行を継続するかどうかを指定します。- デフォルトは "false" で、 - ScheduledExecutorServiceSE のネイティブの動作に一致します。各タスクの例外のない実行のためにこのフラグを "true" に切り替え、正常に実行された場合のようにスケジュールされた実行を継続します。
- setExposeUnconfigurableExecutorpublic void setExposeUnconfigurableExecutor- (boolean exposeUnconfigurableExecutor) この FactoryBean が、作成されたエグゼキューターの構成不可能なデコレーターを公開するかどうかを指定します。- デフォルトは "false" で、生のエグゼキューターを Bean 参照として公開します。このフラグを "true" に切り替えて、クライアントがエグゼキューターの構成を変更できないようにします。 
- initializeExecutorprotected ExecutorServiceSE initializeExecutor- (ThreadFactorySE threadFactory, RejectedExecutionHandlerSE rejectedExecutionHandler) クラスからコピーされた説明:- ExecutorConfigurationSupportターゲット- ExecutorServiceSE インスタンスを作成します。- afterPropertiesSetによって呼び出されます。- 次で指定:
-  クラス ExecutorConfigurationSupportのinitializeExecutor
- パラメーター:
- threadFactory- 使用する ThreadFactory
- rejectedExecutionHandler- 使用する RejectedExecutionHandler
- 戻り値:
- 新しい ExecutorService インスタンス
- 関連事項:
 
- createExecutorprotected ScheduledExecutorServiceSE createExecutor- (int poolSize, ThreadFactorySE threadFactory, RejectedExecutionHandlerSE rejectedExecutionHandler) 新しい- ScheduledExecutorServiceSE インスタンスを作成します。- デフォルト実装は - ScheduledThreadPoolExecutorSE を作成します。サブクラスでオーバーライドして、カスタム- ScheduledExecutorServiceSE インスタンスを提供できます。- パラメーター:
- poolSize- 指定されたプールサイズ
- threadFactory- 使用する ThreadFactory
- rejectedExecutionHandler- 使用する RejectedExecutionHandler
- 戻り値:
- 新しい ScheduledExecutorService インスタンス
- 関連事項:
 
- registerTasks指定された- ScheduledExecutorTasksを指定された- ScheduledExecutorServiceSE に登録します。- パラメーター:
- tasks- 指定された ScheduledExecutorTasks (空になることはありません)
- executor- タスクを登録する ScheduledExecutorService
 
- getRunnableToSchedule特定のタスクをスケジュールする実際の Runnable を決定します。- 例外をキャッチしてログに記録する - DelegatingErrorHandlingRunnableでタスクの Runnable をラップします。必要に応じて、- "continueScheduledExecutionAfterException"フラグに従って例外を抑制します。- パラメーター:
- task- スケジュールする ScheduledExecutorTask
- 戻り値:
- スケジュールする実際の Runnable (デコレータかもしれません)
 
- getObjectインターフェースからコピーされた説明:- FactoryBeanこのファクトリによって管理されるオブジェクトのインスタンス(おそらく共有または独立)を返します。- BeanFactoryと同様に、これにより、シングルトンとプロトタイプの両方のデザインパターンをサポートできます。- この FactoryBean が呼び出し時にまだ完全に初期化されていない場合(たとえば、循環参照に関係しているため)、対応する - FactoryBeanNotInitializedExceptionをスローします。- Spring 2.0 以降、FactoryBeans は - nullオブジェクトを返すことができます。ファクトリはこれを通常の値として使用します。この場合、FactoryBeanNotInitializedException はスローされません。FactoryBean の実装では、必要に応じて FactoryBeanNotInitializedException 自体をすぐにスローすることをお勧めします。- 次で指定:
-  インターフェース FactoryBean<ScheduledExecutorServiceSE>のgetObject
- 戻り値:
- Bean のインスタンス (nullにすることができます)
- 関連事項:
 
- getObjectTypeインターフェースからコピーされた説明:- FactoryBeanこの FactoryBean が作成するオブジェクトの型を返します。事前にわからない場合は- nullを返します。- これにより、たとえばオートワイヤーなどで、オブジェクトをインスタンス化せずに特定の型の Bean を確認できます。 - シングルトンオブジェクトを作成している実装の場合、このメソッドはシングルトンの作成を可能な限り回避しようとします。むしろ、事前に型を推定する必要があります。プロトタイプの場合、ここで意味のある型を返すこともお勧めします。 - このメソッドは、この FactoryBean が完全に初期化される前に呼び出すことができます。初期化中に作成された状態に依存しないでください。もちろん、利用可能な場合はそのような状態を引き続き使用できます。 - 注意 : オートワイヤーは、ここで - nullを返す FactoryBeans を単に無視します。FactoryBean の現在の状態を使用して、このメソッドを適切に実装することを強くお勧めします。- 次で指定:
-  インターフェース FactoryBean<ScheduledExecutorServiceSE>のgetObjectType
- 戻り値:
-  この FactoryBean が作成するオブジェクトの型、または呼び出し時に不明な場合は null
- 関連事項:
 
- isSingletonpublic boolean isSingleton()インターフェースからコピーされた説明:- FactoryBeanこのファクトリによって管理されるオブジェクトはシングルトンですか? つまり、- FactoryBean.getObject()は常に同じオブジェクト(キャッシュ可能な参照)を返しますか?- 注意 : FactoryBean がシングルトンオブジェクトを保持することを示す場合、 - getObject()から返されたオブジェクトは所有 BeanFactory によってキャッシュされる可能性があります。FactoryBean が常に同じ参照を公開しない限り、- trueを返さないでください。- FactoryBean 自体のシングルトンステータスは、通常、所有する BeanFactory によって提供されます。通常、そこではシングルトンとして定義する必要があります。 - 注意 : - falseを返すこのメソッドは、返されるオブジェクトが独立したインスタンスであることを必ずしも示しません。拡張- SmartFactoryBeanインターフェースの実装は、- SmartFactoryBean.isPrototype()メソッドを通じて独立したインスタンスを明示的に示す場合があります。この拡張インターフェースを実装しないプレーンな- FactoryBean実装は、- isSingleton()実装が- falseを返す場合、常に独立したインスタンスを返すと単純に想定されます。- FactoryBeanは通常シングルトンインスタンスを管理するため、デフォルトの実装では- trueが返されます。- 次で指定:
-  インターフェース FactoryBean<ScheduledExecutorServiceSE>のisSingleton
- 戻り値:
- 公開されたオブジェクトがシングルトンかどうか
- 関連事項: