public class Restarter extends ObjectSE
クラスが複数回ロードされるようにするには、Restarter を早期に initialized
にする必要があります。ほとんどの場合、RestartApplicationListener
は初期化の実行に依存できますが、SpringApplication 引数がメインメソッドの引数と同一でない場合は、initialize(String[])
を直接呼び出す必要がある場合があります。
デフォルトでは、IDE で実行されているアプリケーション(「ファット jar」としてパッケージ化されていないアプリケーション)は、変更可能な URL を自動的に検出します。リモート再起動シナリオの URL またはクラスファイルの更新を手動で構成することもできます。
RestartApplicationListener
, initialize(String[])
, getInstance()
, restart()
修飾子 | コンストラクターと説明 |
---|---|
protected | Restarter(ThreadSE thread, StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer) 新しい Restarter インスタンスを作成するための内部コンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addClassLoaderFiles(ClassLoaderFiles classLoaderFiles) 次の再起動に含める ClassLoaderFiles を追加します。 |
void | addUrls(CollectionSE<URLSE> urls) 次の再起動に含める URL を追加します。 |
static void | clearInstance() インスタンスをクリアします。 |
static void | disable() 再起動サポートを初期化して無効にします。 |
URLSE[] | getInitialUrls() RestartInitializer によって構成された URL の初期セットを返します。 |
static Restarter | getInstance() アクティブな Restarter インスタンスを返します。 |
ObjectSE | getOrAddAttribute(StringSE name, ObjectFactory<?> objectFactory) |
ThreadFactorySE | getThreadFactory() リークセーフスレッドの作成に使用できる 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) 指定されたクラスローダーを使用してアプリケーションを再起動します。 |
ObjectSE | removeAttribute(StringSE name) |
void | restart() 実行中のアプリケーションを再起動します。 |
void | restart(FailureHandler failureHandler) 実行中のアプリケーションを再起動します。 |
protected void | start(FailureHandler failureHandler) アプリケーションを起動します。 |
protected void | stop() アプリケーションを停止します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected Restarter(ThreadSE thread, StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer)
Restarter
インスタンスを作成するための内部コンストラクター。thread
- ソーススレッド args
- アプリケーションの引数 forceReferenceCleanup
- ソフト / ウィークリファレンスクリーンアップを強制する必要がある場合 initializer
- 再起動イニシャライザー initialize(String[])
protected void initialize(boolean restartOnInitialize)
public void addUrls(CollectionSE<URLSE> urls)
urls
- 追加する URLpublic void addClassLoaderFiles(ClassLoaderFiles classLoaderFiles)
ClassLoaderFiles
を追加します。classLoaderFiles
- 追加するファイル public ThreadFactorySE getThreadFactory()
ThreadFactory
SE を返します。public void restart()
public void restart(FailureHandler failureHandler)
failureHandler
- 起動しないアプリケーションを処理するための失敗ハンドラー protected void start(FailureHandler failureHandler) throws ExceptionSE
failureHandler
- 起動しないアプリケーションの失敗ハンドラー ExceptionSE
- エラーの場合 protected ThrowableSE relaunch(ClassLoaderSE classLoader) throws ExceptionSE
classLoader
- 使用するクラスローダー null
ExceptionSE
- エラーの場合 protected void stop() throws ExceptionSE
ExceptionSE
- エラーの場合 public ObjectSE getOrAddAttribute(StringSE name, ObjectFactory<?> objectFactory)
public URLSE[] getInitialUrls()
RestartInitializer
によって構成された URL の初期セットを返します。null
public static void disable()
public static void initialize(StringSE[] args)
initialize(String[], boolean, RestartInitializer)
を参照してください。args
- 主なアプリケーション引数 initialize(String[], boolean, RestartInitializer)
public static void initialize(StringSE[] args, RestartInitializer initializer)
initialize(String[], boolean, RestartInitializer)
を参照してください。args
- 主なアプリケーション引数 initializer
- 再起動イニシャライザー initialize(String[], boolean, RestartInitializer)
public static void initialize(StringSE[] args, boolean forceReferenceCleanup)
initialize(String[], boolean, RestartInitializer)
を参照してください。args
- 主なアプリケーション引数 forceReferenceCleanup
- ソフト / ウィークリファレンスの強制が発生した場合 initialize(String[], boolean, RestartInitializer)
public static void initialize(StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer)
initialize(String[], boolean, RestartInitializer, boolean)
を参照してください。args
- 主なアプリケーション引数 forceReferenceCleanup
- ソフト / ウィークリファレンスの強制が発生した場合 initializer
- 再起動イニシャライザー initialize(String[], boolean, RestartInitializer)
public static void initialize(StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer, boolean restartOnInitialize)
RestartApplicationListener
によって自動的に呼び出されますが、メインアプリケーションの引数が SpringApplication
に渡された引数と異なる場合は、直接呼び出すこともできます。args
- 主なアプリケーション引数 forceReferenceCleanup
- 再起動ごとにソフト / ウィークリファレンスを強制する必要がある場合。これは再起動を遅くし、主にテストを目的としています initializer
- 再起動イニシャライザー restartOnInitialize
- RestartInitializer
が null
以外の結果を返したときに、リスターターをすぐに再起動する必要がある場合 public static Restarter getInstance()
Restarter
インスタンスを返します。initialization
の前に呼び出すことはできません。public static void clearInstance()