クラス ObservableReactiveSession

java.lang.ObjectSE
org.springframework.data.cassandra.observability.ObservableReactiveSession
実装されたすべてのインターフェース:
CloseableSEAutoCloseableSEReactiveSession

public class ObservableReactiveSession extends ObjectSE implements ReactiveSession
観測可能性のために ReactiveSession を装備しました。
導入:
4.0
作成者:
Mark Paluch, Marcin Grzejszczak
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    このセッションインスタンスのシャットダウンを開始し、シャットダウンが完了するまでブロックします。
    create(ReactiveSession session, io.micrometer.observation.ObservationRegistry observationRegistry)
    ObservableReactiveSession を作成するためのファクトリメソッド。
    create(ReactiveSession session, StringSE remoteServiceName, io.micrometer.observation.ObservationRegistry observationRegistry)
    ObservableReactiveSession を作成するためのファクトリメソッド。
    reactor.core.publisher.Mono<ReactiveResultSet>
    execute(com.datastax.oss.driver.api.core.cql.Statement<?> statement)
    提供されたクエリを実行します。
    reactor.core.publisher.Mono<ReactiveResultSet>
    提供されたクエリを実行します。
    reactor.core.publisher.Mono<ReactiveResultSet>
    execute(StringSE cql, ObjectSE... objects)
    指定された値を使用して、指定されたクエリを実行します。
    reactor.core.publisher.Mono<ReactiveResultSet>
    指定された名前付き値を使用して、指定されたクエリを実行します。
    com.datastax.oss.driver.api.core.context.DriverContext
    このドライバーインスタンスで使用されるすべてのポリシーへのアクセスを提供するコンテキストを返します。
    OptionalSE<com.datastax.oss.driver.api.core.CqlIdentifier>
    このセッションが現在接続されているキースペース、またはこのセッションがどのキースペースにも接続されていない場合は Optional.empty() です。
    com.datastax.oss.driver.api.core.metadata.Metadata
    Cassandra クラスターのトポロジとスキーマメタデータのスナップショットを返します。
    boolean
    このセッションインスタンスが閉じられているかどうか。
    reactor.core.publisher.Mono<com.datastax.oss.driver.api.core.cql.PreparedStatement>
    prepare(com.datastax.oss.driver.api.core.cql.SimpleStatement statement)
    提供されたクエリを準備します。
    reactor.core.publisher.Mono<com.datastax.oss.driver.api.core.cql.PreparedStatement>
    指定されたクエリ文字列を準備します。

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

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • メソッドの詳細

    • create

      public static ReactiveSession create(ReactiveSession session, io.micrometer.observation.ObservationRegistry observationRegistry)
      ObservableReactiveSession を作成するためのファクトリメソッド。
      パラメーター:
      session - リアクティブセッション。
      observationRegistry - 観察レジストリ。
      戻り値:
      ReactiveSession のトレースされた表現。
    • create

      public static ReactiveSession create(ReactiveSession session, StringSE remoteServiceName, io.micrometer.observation.ObservationRegistry observationRegistry)
      ObservableReactiveSession を作成するためのファクトリメソッド。
      パラメーター:
      session - リアクティブセッション。
      observationRegistry - 観察レジストリ。
      戻り値:
      ReactiveSession のトレースされた表現。
    • isClosed

      public boolean isClosed()
      インターフェースからコピーされた説明: ReactiveSession
      このセッションインスタンスが閉じられているかどうか。

      このメソッドは、このセッションのクローズが開始されるとすぐに true を返しますが、クローズが完了したことを保証するものではないことに注意してください。クローズが完了したことを保証したい場合は、close() を呼び出して、それが返されるまで待機します (または、非常に短いタイムアウトで closeAsync() の get メソッドを呼び出し、タイムアウトしないことを確認します)。

      次で指定:
      インターフェース ReactiveSessionisClosed 
      戻り値:
      このセッションインスタンスが閉じられている場合は true、それ以外の場合は false です。
    • getContext

      public com.datastax.oss.driver.api.core.context.DriverContext getContext()
      インターフェースからコピーされた説明: ReactiveSession
      このドライバーインスタンスで使用されるすべてのポリシーへのアクセスを提供するコンテキストを返します。
      次で指定:
      インターフェース ReactiveSessiongetContext 
      戻り値:
      このドライバーインスタンスで使用されるすべてのポリシーへのアクセスを提供するコンテキスト。
    • getKeyspace

      public OptionalSE<com.datastax.oss.driver.api.core.CqlIdentifier> getKeyspace()
      インターフェースからコピーされた説明: ReactiveSession
      このセッションが現在接続されているキースペース、またはこのセッションがどのキースペースにも接続されていない場合は Optional.empty() です。

      これを設定するには、セッションを初期化する前(構成の session-keyspace オプションまたは SessionBuilder.withKeyspace(CqlIdentifier) を使用)または実行時に、クライアントがキースペースを変更するリクエスト(CQL USE クエリなど)を発行する場合の 2 つの方法があります。この 2 番目の方法は、古いキースペースを期待する他のリクエストが同時に実行される可能性があるため、本質的に安全ではないことに注意してください。些細なケース(リクエストが同時に実行されない cqlsh スタイルのプログラムなど)を除いて、この方法は強く推奨されません。

      次で指定:
      インターフェース ReactiveSessiongetKeyspace 
    • getMetadata

      public com.datastax.oss.driver.api.core.metadata.Metadata getMetadata()
      インターフェースからコピーされた説明: ReactiveSession
      Cassandra クラスターのトポロジとスキーマメタデータのスナップショットを返します。

      アトミック更新を提供するために、このメソッドは不変のオブジェクトを返します。つまり、特定のインスタンスに含まれるノードリスト、トークンマップ、スキーマは常に互いに一貫性を保ちます (ただし、Node 自体は不変ではないことに注意してください。そのプロパティの一部 (特に Node.getState()) は動的に更新されます)。

      上記の結果から、メタデータの最新のビューが必要になるたびに、このメソッドを呼び出す必要があります。これは凍結されたスナップショットであり、時間の経過とともに古くなるため、一度呼び出して結果を保存しないでください。

      メタデータのリフレッシュによってイベント (ノードの追加 / 削除、スキーマイベントなど) がトリガーされた場合、これらのイベントを受信するまでにメタデータの新しいバージョンが表示されることが保証されます。

      次で指定:
      インターフェース ReactiveSessiongetMetadata 
      戻り値:
      null になることはありませんが、構成でメタデータが無効になっている場合は空になる可能性があります。
    • execute

      public reactor.core.publisher.Mono<ReactiveResultSet> execute(StringSE cql)
      インターフェースからコピーされた説明: ReactiveSession
      提供されたクエリを実行します。

      これは execute(new SimpleStatement(query)) の便利なメソッドです。

      次で指定:
      インターフェース ReactiveSessionexecute 
      パラメーター:
      cql - 実行する CQL クエリ。
      戻り値:
      クエリの結果。その結果は null になることはありませんが、空になることがあります (SELECT 以外のクエリの場合は空になります)。
    • execute

      public reactor.core.publisher.Mono<ReactiveResultSet> execute(StringSE cql, ObjectSE... objects)
      インターフェースからコピーされた説明: ReactiveSession
      指定された値を使用して、指定されたクエリを実行します。

      これは execute(new SimpleStatement(query, values)) の便利なメソッドです。

      次で指定:
      インターフェース ReactiveSessionexecute 
      パラメーター:
      cql - 実行する CQL クエリ。
      objects - query の実行に必要な値。詳細については SimpleStatement.newInstance(String, Object...) を参照してください。
      戻り値:
      クエリの結果。その結果は null になることはありませんが、空になることがあります (SELECT 以外のクエリの場合は空になります)。
    • execute

      public reactor.core.publisher.Mono<ReactiveResultSet> execute(StringSE cql, MapSE<StringSE,ObjectSE> map)
      インターフェースからコピーされた説明: ReactiveSession
      指定された名前付き値を使用して、指定されたクエリを実行します。

      これは execute(new SimpleStatement(query, values)) の便利なメソッドです。

      次で指定:
      インターフェース ReactiveSessionexecute 
      パラメーター:
      cql - 実行する CQL クエリ。
      map - query の実行に必要な値。詳細については SimpleStatement.newInstance(String, Map) を参照してください。
      戻り値:
      クエリの結果。その結果は null になることはありませんが、空になることがあります (SELECT 以外のクエリの場合は空になります)。
    • execute

      public reactor.core.publisher.Mono<ReactiveResultSet> execute(com.datastax.oss.driver.api.core.cql.Statement<?> statement)
      インターフェースからコピーされた説明: ReactiveSession
      提供されたクエリを実行します。

      このメソッドは、データベースから少なくとも何らかの結果が受信されるまでブロックします。ただし、SELECT クエリの場合、結果が完全に受信されたことは保証されません。ただし、データベースから何らかのレスポンスが受信されたことは保証され、特に、リクエストが無効な場合は、このメソッドによって例外がスローされることが保証されます。

      次で指定:
      インターフェース ReactiveSessionexecute 
      パラメーター:
      statement - 実行する CQL クエリ (任意の Statement にすることができます)。
      戻り値:
      クエリの結果。その結果は null になることはありませんが、空になることがあります (SELECT 以外のクエリの場合は空になります)。
    • prepare

      public reactor.core.publisher.Mono<com.datastax.oss.driver.api.core.cql.PreparedStatement> prepare(StringSE cql)
      インターフェースからコピーされた説明: ReactiveSession
      指定されたクエリ文字列を準備します。
      次で指定:
      インターフェース ReactiveSessionprepare 
      パラメーター:
      cql - 準備する CQL クエリ文字列
      戻り値:
      query に対応する準備されたステートメント。
    • prepare

      public reactor.core.publisher.Mono<com.datastax.oss.driver.api.core.cql.PreparedStatement> prepare(com.datastax.oss.driver.api.core.cql.SimpleStatement statement)
      インターフェースからコピーされた説明: ReactiveSession
      提供されたクエリを準備します。

      このメソッドは ReactiveSession.prepare(String) のように動作しますが、結果の PreparedStatement は statement に設定されたクエリプロパティを継承することに注意してください。具体的には、次のコードでは次のようになります。

       Statement toPrepare = SimpleStatement.newInstance("SELECT * FROM test WHERE k=?")
                      .setConsistencyLevel(ConsistencyLevel.QUORUM);
       PreparedStatement prepared = session.prepare(toPrepare);
       session.execute(prepared.bind("someValue"));
       
      最終的な実行はクォーラム一貫性で実行されます。

      同じ CQL ステートメントが複数回準備された場合、このメソッドへのすべての呼び出しは同じ PreparedStatement オブジェクトを返しますが、メソッドは準備された Statement のプロパティをこのオブジェクトに適用することに注意してください。

      次で指定:
      インターフェース ReactiveSessionprepare 
      パラメーター:
      statement - 準備する声明
      戻り値:
      statement に対応する準備されたステートメント。
    • close

      public void close()
      インターフェースからコピーされた説明: ReactiveSession
      このセッションインスタンスのシャットダウンを開始し、シャットダウンが完了するまでブロックします。
      次で指定:
      インターフェース AutoCloseableSEclose 
      次で指定:
      インターフェース CloseableSEclose 
      次で指定:
      インターフェース ReactiveSessionclose