クラス JdbcMetadataStore

java.lang.ObjectSE
org.springframework.integration.jdbc.metadata.JdbcMetadataStore
実装されたすべてのインターフェース:
InitializingBeanLifecyclePhasedSmartLifecycleConcurrentMetadataStoreMetadataStore

public class JdbcMetadataStore extends ObjectSE implements ConcurrentMetadataStore, InitializingBean, SmartLifecycle
JDBC を介したリレーショナルデータベースを使用した ConcurrentMetadataStore の実装。必要なテーブルを作成するための SQL スクリプトは、org/springframework/integration/jdbc/schema-*.sql としてパッケージ化されています。ここで、* はターゲットデータベース型です。

この ConcurrentMetadataStore を使用するには、トランザクション管理が必要です。

このクラスは SmartLifecycle を実装し、start() で指定されたプレフィックスに従って SELECT COUNT(METADATA_KEY) FROM %sMETADATA_STORE クエリを呼び出し、必要なテーブルが DB に存在するかどうかを確認します。テーブルが存在しない場合、アプリケーションコンテキストは起動できません。このチェックは setCheckDatabaseOnStart(boolean) を介して無効にできます。

導入:
5.0
作成者:
Bojan Vukasovic, Artem Bilan, Gary Russell
  • フィールドの詳細

    • DEFAULT_TABLE_PREFIX

      public static final StringSE DEFAULT_TABLE_PREFIX
      テーブルプレフィックスプロパティのデフォルト値。
      関連事項:
  • コンストラクターの詳細

  • メソッドの詳細

    • setTablePrefix

      public void setTablePrefix(StringSE tablePrefix)
      テーブルプレフィックスプロパティのパブリック setter。これは、クエリが実行される前にすべてのテーブル名の前に付けられます。デフォルトは DEFAULT_TABLE_PREFIX です。
      パラメーター:
      tablePrefix - 設定する tablePrefix
    • setRegion

      public void setRegion(StringSE region)
      このストアで永続化されるすべてのメッセージの一意のグループ化識別子。複数のリージョンを使用すると、さまざまな目的でストアを(必要に応じて)パーティション化できます。デフォルトは DEFAULT です。
      パラメーター:
      region - 設定する領域名
    • setLockHint

      public void setLockHint(StringSE lockHint)
      ロックベースの操作でクエリの行ロックヒントを指定します。デフォルトは FOR UPDATE です。ターゲット RDBMS がクエリからのテーブルのロックをサポートしていない場合は、空の文字列として指定できます。値は RDBMS ベンダーによって異なります。たとえば、SQL Server には WITH (ROWLOCK) が必要です。
      パラメーター:
      lockHint - RDBMS ベンダー固有のロックヒント。
      導入:
      5.0.7
    • afterPropertiesSet

      public void afterPropertiesSet()
      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • setCheckDatabaseOnStart

      public void setCheckDatabaseOnStart(boolean checkDatabaseOnStart)
      開始時にデータベースチェッククエリを実行するかどうかのフラグ。
      パラメーター:
      checkDatabaseOnStart - データベースチェックを実行しない場合は false。
      導入:
      6.2
    • isAutoStartup

      public boolean isAutoStartup()
      次で指定:
      インターフェース SmartLifecycleisAutoStartup 
    • start

      public void start()
      次で指定:
      インターフェース Lifecyclestart 
    • stop

      public void stop()
      次で指定:
      インターフェース Lifecyclestop 
    • isRunning

      public boolean isRunning()
      次で指定:
      インターフェース LifecycleisRunning 
    • putIfAbsent

      @Transactional public StringSE putIfAbsent(StringSE key, StringSE value)
      インターフェースからコピーされた説明: ConcurrentMetadataStore
      キーをストアに原子的に挿入します。
      次で指定:
      インターフェース ConcurrentMetadataStoreputIfAbsent 
      パラメーター:
      key - キー。
      value - 値。
      戻り値:
      成功した場合は null、それ以外の場合は古い値。
    • replace

      @Transactional public boolean replace(StringSE key, StringSE oldValue, StringSE newValue)
      インターフェースからコピーされた説明: ConcurrentMetadataStore
      古い値が oldValue 引数と一致する場合は、ストア内のキーの値を原子的に置き換えます。
      次で指定:
      インターフェース ConcurrentMetadataStorereplace 
      パラメーター:
      key - キー。
      oldValue - 古い値。
      newValue - 新しい値。
      戻り値:
      成功した場合は true。
    • put

      @Transactional public void put(StringSE key, StringSE value)
      インターフェースからコピーされた説明: MetadataStore
      キーと値のペアをこの MetadataStore に書き込みます。
      次で指定:
      インターフェース MetadataStoreput 
      パラメーター:
      key - キー。
      value - 値。
    • get

      @Transactional public StringSE get(StringSE key)
      インターフェースからコピーされた説明: MetadataStore
      この MetadataStore から指定されたキーの値を読み取ります。
      次で指定:
      インターフェース MetadataStoreget 
      パラメーター:
      key - キー。
      戻り値:
      値。
    • remove

      @Transactional public StringSE remove(StringSE key)
      インターフェースからコピーされた説明: MetadataStore
      この MetadataStore から指定されたキーの値を削除します。
      次で指定:
      インターフェース MetadataStoreremove 
      パラメーター:
      key - キー。
      戻り値:
      キーに関連付けられた以前の値。キーのマッピングがなかった場合は null。