クラス ReloadableResourceBundleExpressionSource

java.lang.ObjectSE
org.springframework.integration.expression.ReloadableResourceBundleExpressionSource
実装されたすべてのインターフェース:
AwareResourceLoaderAwareExpressionSource

public class ReloadableResourceBundleExpressionSource extends ObjectSE implements ExpressionSource, ResourceLoaderAware
指定されたベース名を使用してリソースバンドルにアクセスする ExpressionSource 実装。このクラスは、式のカスタムデータ構造として PropertiesSE インスタンスを使用し、PropertiesPersister ストラテジーを介してロードします。デフォルトのストラテジーは、必要に応じて、特定の文字エンコードでプロパティファイルをロードできます。
導入:
2.0
作成者:
Juergen Hoeller, Mark Fisher, Gary Russell, Artem Bilan, Christian Tzolov
関連事項:
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    リソースバンドルキャッシュをクリアします。
    取得したバンドルファイル内の指定されたキーを式に解決します。
    void
    ファイル拡張子や言語コードを指定せず、Spring リソースの場所を参照するという基本的な ResourceBundle 規則に従って、単一のベース名を設定します。
    void
    setBasenames(StringSE[] basenames)
    ベース名の配列を設定します。各ベース名は、ファイル拡張子や言語コードを指定せず、Spring リソースの場所を参照するという基本的な ResourceBundle 規則に従います。
    void
    setCacheSeconds(int cacheSeconds)
    ロードされたプロパティファイルをキャッシュする秒数を設定します。
    void
    setDefaultEncoding(StringSE defaultEncoding)
    プロパティファイルの解析に使用するデフォルトの文字セットを設定します。
    void
    setFallbackToSystemLocale(boolean fallbackToSystemLocale)
    特定のロケールのファイルが見つからなかった場合にシステムのロケールにフォールバックするかどうかを設定します。
    void
    プロパティファイルの解析に使用するファイルごとの文字セットを設定します。
    void
    プロパティファイルの解析に使用する PropertiesPersister を設定します。
    void
    バンドルプロパティファイルのロードに使用する ResourceLoader を設定します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
  • コンストラクターの詳細

    • ReloadableResourceBundleExpressionSource

      public ReloadableResourceBundleExpressionSource()
  • メソッドの詳細

    • setBasename

      public void setBasename(StringSE basename)
      ファイル拡張子や言語コードを指定せず、Spring リソースの場所を参照するという基本的な ResourceBundle 規則に従って、単一のベース名を設定します。"META-INF/expression.properties"、"META-INF/expressions_en.properties" などの "META-INF/expressions"。

      XML プロパティファイルもサポートされています: .g。"META-INF/expression" は、"META-INF/expression.xml"、"META-INF/expressions_en.xml" なども検索してロードします。

      パラメーター:
      basename - 単一のベースネーム
      関連事項:
    • setBasenames

      public void setBasenames(@Nullable StringSE[] basenames)
      ベース名の配列を設定します。各ベース名は、ファイル拡張子や言語コードを指定せず、Spring リソースの場所を参照するという基本的な ResourceBundle 規則に従います。"META-INF/expression.properties"、"META-INF/expressions_en.properties" などの "META-INF/expressions"。

      XML プロパティファイルもサポートされています: .g。"META-INF/expression" は、"META-INF/expression.xml"、"META-INF/expressions_en.xml" なども検索してロードします。

      式キーを解決するときに、関連するリソースバンドルが順番にチェックされます。シーケンシャルルックアップにより、 前のリソースバンドルの式定義が後のバンドルの式定義を上書きすることに注意してください。

      パラメーター:
      basenames - ベース名の配列
      関連事項:
    • setDefaultEncoding

      public void setDefaultEncoding(StringSE defaultEncoding)
      プロパティファイルの解析に使用するデフォルトの文字セットを設定します。ファイルにファイル固有の文字セットが指定されていない場合に使用されます。

      デフォルトは none で、java.util.Properties デフォルトエンコーディングを使用します。

      クラシックプロパティファイルにのみ適用され、XML ファイルには適用されません。

      パラメーター:
      defaultEncoding - デフォルトの文字セット
      関連事項:
    • setFileEncodings

      public void setFileEncodings(PropertiesSE fileEncodings)
      プロパティファイルの解析に使用するファイルごとの文字セットを設定します。

      クラシックプロパティファイルにのみ適用され、XML ファイルには適用されません。

      パラメーター:
      fileEncodings - キーとしてファイル名、値として文字セット名を持つプロパティ。ファイル名は、オプションのロケール固有の付録を使用して、ベース名の構文と一致する必要があります。"META-INF/expressions" または "META-INF/expressions_en"。
      関連事項:
    • setFallbackToSystemLocale

      public void setFallbackToSystemLocale(boolean fallbackToSystemLocale)
      特定のロケールのファイルが見つからない場合に、システムロケールにフォールバックするかどうかを設定します。デフォルトは "true" です。これがオフになっている場合、フォールバックはデフォルトファイルのみになります(例: ベース名 "expressions" の "expressions.properties" )。

      システムロケールへのフォールバックは、java.util.ResourceBundle のデフォルトの動作です。ただし、これは、システムロケールがアプリケーションにまったく関係しないアプリケーションサーバー環境では望ましくないことがよくあります。このようなシナリオでは、このフラグを "false" に設定します。

      パラメーター:
      fallbackToSystemLocale - フォールバックするのは本当です。
    • setCacheSeconds

      public void setCacheSeconds(int cacheSeconds)
      ロードされたプロパティファイルをキャッシュする秒数を設定します。
      • デフォルトは "-1" で、永久にキャッシュすることを示します(java.util.ResourceBundle と同様)。
      • 正の数は、指定された秒数の間、ロードされたプロパティファイルをキャッシュします。これは基本的に、リフレッシュチェックの間隔です。リフレッシュ試行では、実際にファイルを再ロードする前に、ファイルの最終変更タイムスタンプを最初に確認することに注意してください。ファイルが変更されない場合、リフレッシュの試行は実際には再ロードされないため、この間隔はかなり低く設定できます。
      • 値が "0" の場合、式にアクセスするたびにファイルの最終変更タイムスタンプがチェックされます。 これを本番環境で使用しないでください。
      パラメーター:
      cacheSeconds - キャッシュ秒。
    • setPropertiesPersister

      public void setPropertiesPersister(@Nullable PropertiesPersister propertiesPersister)
      プロパティファイルの解析に使用する PropertiesPersister を設定します。

      デフォルトは DefaultPropertiesPersister です。

      パラメーター:
      propertiesPersister - プロパティの永続化。
      関連事項:
    • setResourceLoader

      public void setResourceLoader(@Nullable ResourceLoader resourceLoader)
      バンドルプロパティファイルのロードに使用する ResourceLoader を設定します。

      デフォルトは DefaultResourceLoader です。コンテキストで実行されている場合、ResourceLoaderAware インターフェースを実装しているため、ApplicationContext によってオーバーライドされます。ApplicationContext の外部で実行する場合は、手動でオーバーライドできます。

      次で指定:
      インターフェース ResourceLoaderAwaresetResourceLoader 
      関連事項:
    • getExpression

      public Expression getExpression(StringSE key, LocaleSE locale)
      取得したバンドルファイル内の指定されたキーを式に解決します。
      次で指定:
      インターフェース ExpressionSourcegetExpression 
    • clearCache

      public void clearCache()
      リソースバンドルキャッシュをクリアします。その後の resolve 呼び出しは、プロパティファイルのリロードにつながります。
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString