クラス Restarter

java.lang.ObjectSE
org.springframework.boot.devtools.restart.Restarter

public class Restarter extends ObjectSE
実行中のアプリケーションを更新されたクラスパスで再起動できるようにします。リスターターは、2 つの部分に分割される新しいアプリケーション ClassLoader を作成することによって機能します。上部には変更されない静的 URL(たとえば、サードパーティのライブラリや Spring Boot 自体)が含まれており、下部にはクラスとリソースが更新される可能性のある URL が含まれています。

クラスが複数回ロードされるようにするには、Restarter を早期に initialized にする必要があります。ほとんどの場合、RestartApplicationListener は初期化の実行に依存できますが、SpringApplication 引数がメインメソッドの引数と同一でない場合は、initialize(String[]) を直接呼び出す必要がある場合があります。

デフォルトでは、IDE で実行されているアプリケーション (つまり、"uber jar" としてパッケージ化されていないアプリケーション) は、変更される可能性のある URL を自動的に検出します。リモート再起動シナリオの URL またはクラスファイルの更新を手動で構成することもできます。

導入:
1.3.0
作成者:
Phillip Webb, Andy Wilkinson
関連事項:
  • コンストラクターの詳細

    • Restarter

      protected Restarter(ThreadSE thread, StringSE[] args, boolean forceReferenceCleanup, RestartInitializer initializer)
      新しい Restarter インスタンスを作成するための内部コンストラクター。
      パラメーター:
      thread - ソーススレッド
      args - アプリケーションの引数
      forceReferenceCleanup - ソフト / ウィークリファレンスクリーンアップを強制する必要がある場合
      initializer - 再起動イニシャライザー
      関連事項:
  • メソッドの詳細

    • initialize

      protected void initialize(boolean restartOnInitialize)
    • addUrls

      public void addUrls(CollectionSE<URLSE> urls)
      次の再起動に含める URL を追加します。
      パラメーター:
      urls - 追加する URL
    • addClassLoaderFiles

      public void addClassLoaderFiles(ClassLoaderFiles classLoaderFiles)
      次の再起動に含める ClassLoaderFiles を追加します。
      パラメーター:
      classLoaderFiles - 追加するファイル
    • getThreadFactory

      public ThreadFactorySE getThreadFactory()
      リークセーフスレッドの作成に使用できる ThreadFactorySE を返します。
      戻り値:
      リークセーフスレッドファクトリ
    • restart

      public void restart()
      実行中のアプリケーションを再起動します。
    • restart

      public void restart(FailureHandler failureHandler)
      実行中のアプリケーションを再起動します。
      パラメーター:
      failureHandler - 起動しないアプリケーションを処理するための失敗ハンドラー
    • start

      protected void start(FailureHandler failureHandler) throws ExceptionSE
      アプリケーションを起動します。
      パラメーター:
      failureHandler - 起動しないアプリケーションの失敗ハンドラー
      例外:
      ExceptionSE - エラーの場合
    • relaunch

      protected ThrowableSE relaunch(ClassLoaderSE classLoader) throws ExceptionSE
      指定されたクラスローダーを使用してアプリケーションを再起動します。
      パラメーター:
      classLoader - 使用するクラスローダー
      戻り値:
      起動の失敗の原因となった例外または null
      例外:
      ExceptionSE - エラーの場合
    • stop

      protected void stop() throws ExceptionSE
      アプリケーションを停止します。
      例外:
      ExceptionSE - エラーの場合
    • getOrAddAttribute

      public ObjectSE getOrAddAttribute(StringSE name, ObjectFactory<?> objectFactory)
    • removeAttribute

      public ObjectSE removeAttribute(StringSE name)
    • getInitialUrls

      public URLSE[] getInitialUrls()
      RestartInitializer によって構成された URL の初期セットを返します。
      戻り値:
      初期 URL または null
    • disable

      public static void disable()
      再起動サポートを初期化して無効にします。
    • initialize

      public static void initialize(StringSE[] args)
      再起動サポートを初期化します。詳細については、initialize(String[], boolean, RestartInitializer) を参照してください。
      パラメーター:
      args - 主なアプリケーション引数
      関連事項:
    • initialize

      public static void initialize(StringSE[] args, RestartInitializer initializer)
      再起動サポートを初期化します。詳細については、initialize(String[], boolean, RestartInitializer) を参照してください。
      パラメーター:
      args - 主なアプリケーション引数
      initializer - 再起動イニシャライザー
      関連事項:
    • initialize

      public static void initialize(StringSE[] args, boolean forceReferenceCleanup)
      再起動サポートを初期化します。詳細については、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

      public static Restarter getInstance()
      アクティブな Restarter インスタンスを返します。initialization の前に呼び出すことはできません。
      戻り値:
      リスターター
    • clearInstance

      public static void clearInstance()
      インスタンスをクリアします。主にテスト用に提供され、通常はアプリケーションコードでは使用されません。