クラス Restarter
java.lang.ObjectSE
org.springframework.boot.devtools.restart.Restarter
実行中のアプリケーションを更新されたクラスパスで再起動できるようにします。リスターターは、2 つの部分に分割される新しいアプリケーション ClassLoader を作成することによって機能します。上部には変更されない静的 URL(たとえば、サードパーティのライブラリや Spring Boot 自体)が含まれており、下部にはクラスとリソースが更新される可能性のある URL が含まれています。
クラスが複数回ロードされるようにするには、Restarter を早期に initialized
にする必要があります。ほとんどの場合、RestartApplicationListener
は初期化の実行に依存できますが、SpringApplication 引数がメインメソッドの引数と同一でない場合は、initialize(String[])
を直接呼び出す必要がある場合があります。
デフォルトでは、IDE で実行されているアプリケーション (つまり、"uber jar" としてパッケージ化されていないアプリケーション) は、変更される可能性のある URL を自動的に検出します。リモート再起動シナリオの URL またはクラスファイルの更新を手動で構成することもできます。
- 導入:
- 1.3.0
- 作成者:
- Phillip Webb, Andy Wilkinson
- 関連事項:
コンストラクターのサマリー
コンストラクター修飾子コンストラクター説明protected
Restarter
(ThreadSE thread, StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer) 新しいRestarter
インスタンスを作成するための内部コンストラクター。メソッドのサマリー
修飾子と型メソッド説明void
addClassLoaderFiles
(ClassLoaderFiles classLoaderFiles) 次の再起動に含めるClassLoaderFiles
を追加します。void
addUrls
(CollectionSE<URLSE> urls) 次の再起動に含める URL を追加します。static void
インスタンスをクリアします。static void
disable()
再起動サポートを初期化して無効にします。URLSE[]
RestartInitializer
によって構成された URL の初期セットを返します。static Restarter
アクティブなRestarter
インスタンスを返します。getOrAddAttribute
(StringSE name, ObjectFactory<?> objectFactory) リークセーフスレッドの作成に使用できるThreadFactory
SE を返します。protected void
initialize
(boolean restartOnInitialize) static void
initialize
(StringSE[] args) 再起動サポートを初期化します。static void
initialize
(StringSE[] args, boolean forceReferenceCleanup) 再起動サポートを初期化します。static void
initialize
(StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer) 再起動サポートを初期化します。static void
initialize
(StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer, boolean restartOnInitialize) 現在のアプリケーションの再起動サポートを初期化します。static void
initialize
(StringSE[] args, RestartInitializer initializer) 再起動サポートを初期化します。protected ThrowableSE
relaunch
(ClassLoaderSE classLoader) 指定されたクラスローダーを使用してアプリケーションを再起動します。removeAttribute
(StringSE name) void
restart()
実行中のアプリケーションを再起動します。void
restart
(FailureHandler failureHandler) 実行中のアプリケーションを再起動します。protected void
start
(FailureHandler failureHandler) アプリケーションを起動します。protected void
stop()
アプリケーションを停止します。
コンストラクターの詳細
Restarter
protected Restarter(ThreadSE thread, StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer) 新しいRestarter
インスタンスを作成するための内部コンストラクター。- パラメーター:
thread
- ソーススレッドargs
- アプリケーションの引数forceReferenceCleanup
- ソフト / ウィークリファレンスクリーンアップを強制する必要がある場合initializer
- 再起動イニシャライザー- 関連事項:
メソッドの詳細
initialize
protected void initialize(boolean restartOnInitialize) addUrls
次の再起動に含める URL を追加します。- パラメーター:
urls
- 追加する URL
addClassLoaderFiles
次の再起動に含めるClassLoaderFiles
を追加します。- パラメーター:
classLoaderFiles
- 追加するファイル
getThreadFactory
リークセーフスレッドの作成に使用できるThreadFactory
SE を返します。- 戻り値:
- リークセーフスレッドファクトリ
restart
public void restart()実行中のアプリケーションを再起動します。restart
実行中のアプリケーションを再起動します。- パラメーター:
failureHandler
- 起動しないアプリケーションを処理するための失敗ハンドラー
start
アプリケーションを起動します。- パラメーター:
failureHandler
- 起動しないアプリケーションの失敗ハンドラー- 例外:
ExceptionSE
- エラーの場合
relaunch
指定されたクラスローダーを使用してアプリケーションを再起動します。- パラメーター:
classLoader
- 使用するクラスローダー- 戻り値:
- 起動の失敗の原因となった例外または
null
- 例外:
ExceptionSE
- エラーの場合
stop
アプリケーションを停止します。- 例外:
ExceptionSE
- エラーの場合
getOrAddAttribute
removeAttribute
getInitialUrls
RestartInitializer
によって構成された URL の初期セットを返します。- 戻り値:
- 初期 URL または
null
disable
public static void disable()再起動サポートを初期化して無効にします。initialize
再起動サポートを初期化します。詳細については、initialize(String[], boolean, RestartInitializer)
を参照してください。- パラメーター:
args
- 主なアプリケーション引数- 関連事項:
initialize
再起動サポートを初期化します。詳細については、initialize(String[], boolean, RestartInitializer)
を参照してください。- パラメーター:
args
- 主なアプリケーション引数initializer
- 再起動イニシャライザー- 関連事項:
initialize
再起動サポートを初期化します。詳細については、initialize(String[], boolean, RestartInitializer)
を参照してください。- パラメーター:
args
- 主なアプリケーション引数forceReferenceCleanup
- ソフト / ウィークリファレンスの強制が発生した場合- 関連事項:
initialize
public static void initialize(StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer) 再起動サポートを初期化します。詳細については、initialize(String[], boolean, RestartInitializer, boolean)
を参照してください。- パラメーター:
args
- 主なアプリケーション引数forceReferenceCleanup
- ソフト / ウィークリファレンスの強制が発生した場合initializer
- 再起動イニシャライザー- 関連事項:
initialize
public static void initialize(StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer, boolean restartOnInitialize) 現在のアプリケーションの再起動サポートを初期化します。RestartApplicationListener
によって自動的に呼び出されますが、メインアプリケーションの引数がSpringApplication
に渡された引数と異なる場合は、直接呼び出すこともできます。- パラメーター:
args
- 主なアプリケーション引数forceReferenceCleanup
- 再起動ごとにソフト / ウィークリファレンスを強制する必要がある場合。これは再起動を遅くし、主にテストを目的としていますinitializer
- 再起動イニシャライザーrestartOnInitialize
-RestartInitializer
がnull
以外の結果を返したときに、リスターターをすぐに再起動する必要がある場合
getInstance
アクティブなRestarter
インスタンスを返します。initialization
の前に呼び出すことはできません。- 戻り値:
- リスターター
clearInstance
public static void clearInstance()インスタンスをクリアします。主にテスト用に提供され、通常はアプリケーションコードでは使用されません。