クラス CassandraAccessor

java.lang.ObjectSE
org.springframework.data.cassandra.core.cql.CassandraAccessor
実装されたすべてのインターフェース:
InitializingBean
既知の直属サブクラス
AsyncCqlTemplateAsyncCqlTemplateCqlTemplate

public class CassandraAccessor extends ObjectSE implements InitializingBean
CassandraAccessor は、Cassandra SessionFactory および CassandraExceptionTranslator へのアクセスを提供します。

より高い抽象化レベルを提供するクラスは通常、CassandraAccessor を継承し、CqlSession を使用して SessionFactory の上にさらに豊富な機能セットを提供します。

作成者:
David Webb, Mark Paluch, John Blum, Tomasz Lelek
関連事項:
  • フィールドの詳細

    • logger

      protected final Log logger
      サブクラスで利用可能なロガー
  • コンストラクターの詳細

    • CassandraAccessor

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

    • afterPropertiesSet

      public void afterPropertiesSet()
      Cassandra、CqlSession、例外トランスレータが適切に設定されていることを確認します。
      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • setConsistencyLevel

      public void setConsistencyLevel(@Nullable com.datastax.oss.driver.api.core.ConsistencyLevel consistencyLevel)
      このテンプレートの一貫性レベルを設定します。一貫性レベルは、クエリ処理に関係するノードの数を定義します。緩やかな一貫性レベルの設定では、使用するノードは少なくなりますが、最終的な一貫性が発生する可能性が高くなります。一方、一貫性レベルが高いと、より多くのノードが関係し、より高い一貫性保証で結果が取得されます。
      関連事項:
      • Statement.setConsistencyLevel(ConsistencyLevel)
      • RetryPolicy
    • getConsistencyLevel

      @Nullable public com.datastax.oss.driver.api.core.ConsistencyLevel getConsistencyLevel()
      戻り値:
      このテンプレートに指定された ConsistencyLevel
    • setExceptionTranslator

      public void setExceptionTranslator(CqlExceptionTranslator exceptionTranslator)
      このテンプレートで使用される例外トランスレータを設定し、Cassandra 固有の例外を Spring DAO の例外階層に変換します。
      パラメーター:
      exceptionTranslator - 設定する例外トランスレータ。null にすることはできません。
      関連事項:
    • getExceptionTranslator

      public CqlExceptionTranslator getExceptionTranslator()
      このテンプレートによって使用される例外トランスレータを返します。この例外トランスレータは、Cassandra 固有の例外を Spring DAO の例外階層に変換します。
      戻り値:
      Cassandra 例外トランスレータ。
      関連事項:
    • setExecutionProfile

      public void setExecutionProfile(StringSE profileName)
      このテンプレートのドライバー実行プロファイルを設定します。
      導入:
      3.0
      関連事項:
    • setExecutionProfileResolver

      public void setExecutionProfileResolver(ExecutionProfileResolver executionProfileResolver)
      このテンプレートの ExecutionProfileResolver を設定します。
      導入:
      3.0
      関連事項:
    • getExecutionProfileResolver

      public ExecutionProfileResolver getExecutionProfileResolver()
      戻り値:
      このテンプレートに指定された ExecutionProfileResolver
      導入:
      3.0
    • setFetchSize

      @DeprecatedSE public void setFetchSize(int fetchSize)
      使用すべきではありません。
      3.0 以降、setPageSize(int) を使用
      このテンプレートのフェッチサイズを設定します。これは、大きな結果セットを処理する場合に重要です。この値をデフォルト値より高く設定すると、メモリ消費量は増えますが、処理速度が向上します。この値を低く設定すると、アプリケーションによって読み取られない行データの転送を回避できます。デフォルトは -1 で、CQL ドライバーのデフォルト構成を使用する (つまり、特定のフェッチサイズ設定をドライバーに渡さない) ことを示します。
      関連事項:
      • StatementBuilder.setPageSize(int)
    • getFetchSize

      @DeprecatedSE public int getFetchSize()
      使用すべきではありません。
      3.0 以降、getPageSize() を使用します。
      戻り値:
      このテンプレートに指定されたフェッチサイズ。
    • setKeyspace

      public void setKeyspace(com.datastax.oss.driver.api.core.CqlIdentifier keyspace)
      このテンプレートのステートメントレベルで適用される keyspace を設定します。設定されていない場合は、デフォルトの CqlSession キースペースが使用されます。
      パラメーター:
      keyspace - 適用するキースペースは null であってはなりません。
      導入:
      3.1
      関連事項:
      • SimpleStatement.setKeyspace(CqlIdentifier)
      • BatchStatement.setKeyspace(CqlIdentifier)
    • getKeyspace

      @Nullable public com.datastax.oss.driver.api.core.CqlIdentifier getKeyspace()
      戻り値:
      このテンプレートのステートメントレベルで適用される keyspace
      導入:
      3.1
    • setPageSize

      public void setPageSize(int fetchSize)
      このテンプレートのページサイズを設定します。これは、大きな結果セットを処理する場合に重要です。この値をデフォルト値より高く設定すると、メモリ消費量は増えますが、処理速度が向上します。この値を低く設定すると、アプリケーションによって読み取られない行データの転送を回避できます。デフォルトは -1 で、CQL ドライバーのデフォルト構成を使用する (つまり、特定のページサイズ設定をドライバーに渡さない) ことを示します。
      関連事項:
      • StatementBuilder.setPageSize(int)
    • getPageSize

      public int getPageSize()
      戻り値:
      このテンプレートに指定されたページサイズ。
    • setSerialConsistencyLevel

      public void setSerialConsistencyLevel(@Nullable com.datastax.oss.driver.api.core.ConsistencyLevel consistencyLevel)
      このテンプレートのシリアル一貫性レベルを設定します。
      導入:
      3.0
      関連事項:
      • Statement.setSerialConsistencyLevel(ConsistencyLevel)
      • ConsistencyLevel
    • getSerialConsistencyLevel

      @Nullable public com.datastax.oss.driver.api.core.ConsistencyLevel getSerialConsistencyLevel()
      戻り値:
      このテンプレートに指定されたシリアル ConsistencyLevel
      導入:
      3.0
    • setSession

      public void setSession(com.datastax.oss.driver.api.core.CqlSession session)
      このテンプレートが Cassandra データアクセス操作を実行するために使用する Cassandra CqlSession を設定します。session は現在の getSessionFactory()DefaultSessionFactory に置き換えます。
      パラメーター:
      session - このテンプレートで使用される Cassandra CqlSession は null にできません。
      関連事項:
    • getSession

      @DeprecatedSE public com.datastax.oss.driver.api.core.CqlSession getSession()
      使用すべきではありません。
      2.0 以降。このクラスは、ライフサイクル中に SessionFactory を使用して、異なる CqlSession 間で CQL 呼び出しをディスパッチします。
      このテンプレートによって Cassandra データアクセス操作を実行するために使用される SessionFactory から Cassandra CqlSession を返します。
      戻り値:
      このテンプレートで使用される Cassandra CqlSession
      関連事項:
      • CqlSession
    • setSessionFactory

      public void setSessionFactory(SessionFactory sessionFactory)
      このテンプレートが Cassandra データアクセス操作を実行するために使用する Cassandra SessionFactory を設定します。
      パラメーター:
      sessionFactory - このテンプレートで使用される Cassandra CqlSession。null にすることはできません。
      導入:
      2.0
      関連事項:
      • CqlSession
    • getSessionFactory

      @Nullable public SessionFactory getSessionFactory()
      このテンプレートが Cassandra データアクセス操作を実行するために使用する Cassandra SessionFactory を返します。
      戻り値:
      このテンプレートで使用される Cassandra SessionFactory
      導入:
      2.0
      関連事項:
    • newStatement

      protected com.datastax.oss.driver.api.core.cql.SimpleStatement newStatement(StringSE cql)
      cql を指定して SimpleStatement を作成します。
      パラメーター:
      cql - CQL クエリ。
      戻り値:
      使用する SimpleStatement 
      導入:
      3.0
    • applyStatementSettings

      protected com.datastax.oss.driver.api.core.cql.Statement<?> applyStatementSettings(com.datastax.oss.driver.api.core.cql.Statement<?> statement)
      ページサイズや一貫性レベルなどのステートメント設定を適用して、指定された CQL ステートメントを準備します。
      パラメーター:
      statement - 準備する CQL ステートメント
      関連事項:
    • translateExceptionIfPossible

      @Nullable protected DataAccessException translateExceptionIfPossible(RuntimeExceptionSE ex)
      指定された RuntimeExceptionSE を汎用 DataAccessException に変換します。

      返される DataAccessException には、根本原因として元の RuntimeException が含まれているはずです。ただし、DataAccessException は他のリソース API によっても発生する可能性があるため、クライアントコードは通常これに依存しない可能性があります。ただし、Cassandra ベースのアクセスが発生したと予想される場合、getRootCause() instanceof DataAccessException チェック (および後続のキャスト) は信頼できると見なされます。

      パラメーター:
      ex - 問題のある RuntimeExceptionSE
      戻り値:
      DataAccessException、RuntimeException を包む
      関連事項:
    • translate

      protected DataAccessException translate(StringSE task, @Nullable StringSE cql, RuntimeExceptionSE ex)
      指定された RuntimeExceptionSE を汎用 DataAccessException に変換します。

      返される DataAccessException には、根本原因として元の RuntimeException が含まれているはずです。ただし、DataAccessException は他のリソース API によっても発生する可能性があるため、クライアントコードは通常これに依存しない可能性があります。ただし、Cassandra ベースのアクセスが発生したと予想される場合、getRootCause() instanceof DataAccessException チェック (および後続のキャスト) は信頼できると見なされます。

      パラメーター:
      task - 試行されているタスクを説明する読み取り可能なテキスト
      cql - 問題の原因となった CQL クエリまたは更新 (null の可能性があります)
      ex - 問題のある RuntimeExceptionSE
      戻り値:
      DataAccessException、RuntimeException を包む
      関連事項:
    • newPreparedStatementBinder

      protected PreparedStatementBinder newPreparedStatementBinder(ObjectSE[] args)
      渡された引数を使用して、新しい引数ベースの PreparedStatementSetter を作成します。デフォルトでは、ArgumentPreparedStatementBinder を作成します。このメソッドを使用すると、サブクラスによって作成をオーバーライドできます。
      パラメーター:
      args - 引数を持つオブジェクト配列
      戻り値:
      使用する新しい PreparedStatementBinder
    • newColumnMapRowMapper

      protected RowMapper<MapSE<StringSE,ObjectSE>> newColumnMapRowMapper()
      列をキーと値のペアとして読み取るための新しい RowMapper を作成します。
      戻り値:
      使用する RowMapper
      関連事項:
    • newSingleColumnRowMapper

      protected <T> RowMapper<T> newSingleColumnRowMapper(ClassSE<T> requiredType)
      単一の列から結果オブジェクトを読み取るための新しい RowMapper を作成します。
      パラメーター:
      requiredType - 各結果オブジェクトが一致すると予想される型
      戻り値:
      使用する RowMapper
      関連事項:
    • toCql

      @Nullable protected static StringSE toCql(@Nullable ObjectSE cqlProvider)
      潜在的なプロバイダーオブジェクトから CQL を決定します。
      パラメーター:
      cqlProvider - 潜在的に CqlProvider であるオブジェクト
      戻り値:
      CQL 文字列、または null
      関連事項: