クラス CqlSessionFactoryBean
java.lang.ObjectSE
org.springframework.data.cassandra.config.CqlSessionFactoryBean
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.DisposableBean
、org.springframework.beans.factory.FactoryBean<com.datastax.oss.driver.api.core.CqlSession>
、org.springframework.beans.factory.InitializingBean
、org.springframework.dao.support.PersistenceExceptionTranslator
public class CqlSessionFactoryBean
extends ObjectSE
implements org.springframework.beans.factory.FactoryBean<com.datastax.oss.driver.api.core.CqlSession>, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean, org.springframework.dao.support.PersistenceExceptionTranslator
スレッドセーフなシングルトンである Cassandra
CqlSession
を作成および構成するためのファクトリ。そのため、アプリケーションとキースペースごとに 1 つの CqlSession
があれば十分です。- 導入:
- 3.0
- 作成者:
- Alex Shvid, Matthew T. Adams, John Blum, Mark Paluch, Tomasz Lelek, Ammar Khaku
フィールドサマリー
フィールド修飾子と型フィールド説明static final StringSE
static final StringSE
static final int
protected final org.apache.commons.logging.Log
インターフェース org.springframework.beans.factory.FactoryBean から継承されたフィールド
OBJECT_TYPE_ATTRIBUTE
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
protected com.datastax.oss.driver.api.core.CqlSessionBuilder
protected com.datastax.oss.driver.api.core.CqlSession
buildSession
(com.datastax.oss.driver.api.core.CqlSessionBuilder sessionBuilder) ユーザーがname
SE でキースペースを指定しなかった場合は、ユーザー定義のキースペースまたはデフォルトのキースペースにSession
を構築します。protected com.datastax.oss.driver.api.core.CqlSession
buildSystemSession
(com.datastax.oss.driver.api.core.CqlSessionBuilder sessionBuilder) CassandraSystem Session
を組み立てます。protected void
通常のセッションオブジェクトを閉じます。protected void
システムセッションオブジェクトを閉じます。protected void
createTables
(boolean drop, boolean dropUnused, boolean ifNotExists) スキーマアクションを実行します。void
destroy()
protected StringSE
接続する Cassandra キースペースの名前を取得します。protected CassandraMappingContext
com.datastax.oss.driver.api.core.CqlSession
ClassSE<? extends com.datastax.oss.driver.api.core.CqlSession>
protected com.datastax.oss.driver.api.core.CqlSession
接続された CassandraCqlSession
への参照を返します。使用すべきではありません。使用すべきではありません。boolean
CassandraCqlSession
が接続されているかどうかを判断するための Null セーフ操作。protected void
CassandraMappingContext
メタデータを使用して構成されたSchemaAction
を実行します。void
setContactPoints
(StringSE contactPoints) 接続する連絡先 (ホスト) をコンマ区切りの文字列で設定します。void
setContactPoints
(CollectionSE<InetSocketAddressSE> contactPoints) 接続する連絡先ポイント (ホスト) のコレクションを設定します。void
setConverter
(CassandraConverter converter) 使用すべきではありません。代わりにSessionFactoryFactoryBean
をSessionFactoryFactoryBean.setConverter(CassandraConverter)
と一緒に使用してください。void
setKeyspaceActions
(ListSE<KeyspaceActions> keyspaceActions) 初期化時に実行されるList
SE またはKeyspaceActions
を設定します。void
setKeyspaceAlterations
(ListSE<AlterKeyspaceSpecification> specifications) void
setKeyspaceCreations
(ListSE<CreateKeyspaceSpecification> specifications) void
setKeyspaceDrops
(ListSE<DropKeyspaceSpecification> specifications) void
setKeyspaceName
(StringSE keyspaceName) 接続する Cassandra キースペースの名前を設定します。void
setKeyspaceShutdownScripts
(ListSE<StringSE> scripts) void
setKeyspaceSpecifications
(ListSE<? extends KeyspaceActionSpecification> keyspaceSpecifications) void
setKeyspaceStartupScripts
(ListSE<StringSE> scripts) void
setLocalDatacenter
(StringSE localDatacenter) ローカルデータセンターの名前を設定します。void
setPassword
(StringSE password) 使用するパスワードを設定します。void
setPort
(int port) 接点のポートを設定します。void
setSchemaAction
(SchemaAction schemaAction) 使用すべきではありません。代わりにSessionFactoryFactoryBean
をSessionFactoryFactoryBean.setSchemaAction(SchemaAction)
と一緒に使用してください。void
setSessionBuilderConfigurer
(SessionBuilderConfigurer sessionBuilderConfigurer) SessionBuilderConfigurer
を設定してSessionBuilder
を構成します。void
setShutdownScripts
(ListSE<StringSE> scripts) 使用すべきではありません。void
setStartupScripts
(ListSE<StringSE> scripts) 使用すべきではありません。void
setSuspendLifecycleSchemaRefresh
(boolean suspendLifecycleSchemaRefresh) afterPropertiesSet()
およびdestroy()
ライフサイクルコールバック中にスキーマリフレッシュ設定を一時停止するかどうかを設定します。void
setUsername
(StringSE username) 使用するユーザー名を設定します。org.springframework.dao.DataAccessException
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.beans.factory.FactoryBean から継承されたメソッド
isSingleton
フィールドの詳細
コンストラクターの詳細
CqlSessionFactoryBean
public CqlSessionFactoryBean()
メソッドの詳細
isConnected
public boolean isConnected()CassandraCqlSession
が接続されているかどうかを判断するための Null セーフ操作。- 戻り値:
- Cassandra
CqlSession
が接続されているかどうかを示すブール値。 - 関連事項:
AsyncAutoCloseable.isClosed()
getObject()
setContactPoints
接続するコンタクトポイント (ホスト) のコンマ区切りの文字列を設定します。デフォルトはlocalhost
です。DEFAULT_CONTACT_POINTS
を参照してください。コンタクトポイントは、host:port
形式を使用することも、構成されたport
を使用する単純なhost
形式を使用することもできます。- パラメーター:
contactPoints
- 新しいクラスターによって使用される連絡先ポイントは null であってはなりません。
setContactPoints
接続する連絡先 (ホスト) のコレクションを設定します。デフォルトはlocalhost
です。DEFAULT_CONTACT_POINTS
を参照してください。- パラメーター:
contactPoints
- 新しいクラスターが使用するコンタクトポイントは null であってはなりません。ホスト名の解決をドライバーに委譲するには、unresolved addresses
SE を使用します。- 導入:
- 3.1
setLocalDatacenter
ローカルデータセンターの名前を設定します。- パラメーター:
localDatacenter
- ローカルデータセンターの名前を示す文字列。
setPort
public void setPort(int port) 接点のポートを設定します。デフォルトは9042
です。DEFAULT_PORT
を参照してください。- パラメーター:
port
- 新しいクラスターで使用されるポート。
setUsername
使用するユーザー名を設定します。- パラメーター:
username
- 設定するユーザー名。
setPassword
使用するパスワードを設定します。- パラメーター:
password
- 設定するパスワード。
setConverter
使用すべきではありません。代わりにSessionFactoryFactoryBean
をSessionFactoryFactoryBean.setConverter(CassandraConverter)
と一緒に使用してください。使用するCassandraConverter
を設定します。スキーマアクションは、converter
内のCassandraMappingContext
からテーブルとユーザー型情報を取得します。- パラメーター:
converter
- null であってはなりません。
getConverter
- 戻り値:
- 構成された
CassandraConverter
setKeyspaceActions
初期化時に実行されるList
SE またはKeyspaceActions
を設定します。キースペースアクションには、作成および削除の仕様が含まれる場合があります。- パラメーター:
keyspaceActions
-KeyspaceActions
のList
SE。
getKeyspaceActions
- 戻り値:
KeyspaceActions
のList
SE。
setKeyspaceAlterations
このファクトリがinitialized
の場合に実行されるalter keyspace specifications
のList
SE を設定します。Alter keyspace specifications
は、setStartupScripts(List)
を実行する前に、キースペースが設定されていないシステムセッションで実行されます。- パラメーター:
specifications
-create keyspace specifications
のList
SE。
setKeyspaceCreations
このファクトリがinitialized
の場合に実行されるcreate keyspace specifications
のList
SE を設定します。Create keyspace specifications
は、setStartupScripts(List)
を実行する前に、キースペースが設定されていないシステムセッションで実行されます。- パラメーター:
specifications
-create keyspace specifications
のList
SE。
setKeyspaceDrops
このファクトリがdestroyed
の場合に実行されるdrop keyspace specifications
のList
SE を設定します。Drop keyspace specifications
は、setShutdownScripts(List)
を実行する前に、キースペースが設定されていないシステムセッションで実行されます。- パラメーター:
specifications
-drop keyspace specifications
のList
SE。
setKeyspaceName
接続する Cassandra キースペースの名前を設定します。null を渡すと、Cassandra システムキースペースが使用されます。- パラメーター:
keyspaceName
- 接続するキースペースの名前を示す文字列。- 関連事項:
getKeyspaceName
接続する Cassandra キースペースの名前を取得します。- 戻り値:
- 接続する Cassandra キースペースの名前 (文字列)。
- 関連事項:
setKeyspaceSpecifications
public void setKeyspaceSpecifications(ListSE<? extends KeyspaceActionSpecification> keyspaceSpecifications) - パラメーター:
keyspaceSpecifications
- 設定するKeyspaceActionSpecification
。
getKeyspaceSpecifications
- 戻り値:
- このファクトリに関連付けられた
KeyspaceActionSpecification
。
setKeyspaceStartupScripts
このファクトリがinitialized
の場合、システムキースペースのスコープ内で実行される生のCQL statements
SE のList
SE を設定します。スクリプトは、setKeyspaceCreations(List)
を実行した後、キースペースが設定されていないシステムセッションで実行されます。- パラメーター:
scripts
- 起動時に実行するスクリプト
setKeyspaceShutdownScripts
このファクトリがdestroyed
の場合、システムキースペースのスコープ内で実行される生のCQL statements
SE のList
SE を設定します。Drop keyspace specifications
は、setKeyspaceDrops(List)
の実行後に、キースペースが設定されていないシステムセッションで実行されます。- パラメーター:
scripts
- シャットダウン時に実行するスクリプト
getMappingContext
setSchemaAction
使用すべきではありません。代わりにSessionFactoryFactoryBean
をSessionFactoryFactoryBean.setSchemaAction(SchemaAction)
と一緒に使用してください。SchemaAction
を設定してください。- パラメーター:
schemaAction
- null であってはなりません。
getSchemaAction
- 戻り値:
SchemaAction
setSuspendLifecycleSchemaRefresh
public void setSuspendLifecycleSchemaRefresh(boolean suspendLifecycleSchemaRefresh) afterPropertiesSet()
およびdestroy()
ライフサイクルコールバック中にスキーマリフレッシュ設定を一時停止するかどうかを設定します。セッション構成のスキーマメタデータ設定を使用するために、デフォルトでは無効になっています。有効にすると (true
に設定)、ライフサイクルメソッド中のスキーマリフレッシュは、各 DDL ステートメントの定期的なスキーマリフレッシュを回避するために、スキーマアクションが終了するまで一時停止されます。スキーマのリフレッシュを一時停止すると、スキーマ全体が作成されるまでスキーマの合意を遅らせるのに役立ちます。スキーマのリフレッシュを無効にすると、スキーマのアクションが妨げられる可能性があることに注意してください。
SchemaAction.RECREATE_DROP_UNUSED
およびマッピングベースのスキーマ作成は、スキーマメタデータに依存します。- パラメーター:
suspendLifecycleSchemaRefresh
- ライフサイクルコールバック中にスキーマのリフレッシュを一時停止するにはtrue
を使用します。それ以外の場合は、セッションスキーマのリフレッシュ構成を保持するにはfalse
を使用します。- 導入:
- 2.7
getSession
protected com.datastax.oss.driver.api.core.CqlSession getSession()接続された CassandraCqlSession
への参照を返します。- 戻り値:
- 接続された Cassandra
CqlSession
への参照。 - 例外:
IllegalStateExceptionSE
- CassandraCqlSession
が適切に初期化されなかった場合。- 関連事項:
CqlSession
setSessionBuilderConfigurer
public void setSessionBuilderConfigurer(@Nullable SessionBuilderConfigurer sessionBuilderConfigurer) SessionBuilderConfigurer
を設定してSessionBuilder
を構成します。- パラメーター:
sessionBuilderConfigurer
-
setStartupScripts
使用すべきではありません。セッションが接続された直後に実行される CQL スクリプトを設定します。getStartupScripts
使用すべきではありません。変更不可能な起動スクリプトのリストを返します。setShutdownScripts
使用すべきではありません。セッションがシャットダウンされる直前に実行される CQL スクリプトを設定します。getShutdownScripts
使用すべきではありません。変更不可能なシャットダウンスクリプトのリストを返します。afterPropertiesSet
public void afterPropertiesSet()- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
buildBuilder
protected com.datastax.oss.driver.api.core.CqlSessionBuilder buildBuilder()buildSystemSession
protected com.datastax.oss.driver.api.core.CqlSession buildSystemSession(com.datastax.oss.driver.api.core.CqlSessionBuilder sessionBuilder) CassandraSystem Session
を組み立てます。- パラメーター:
sessionBuilder
-CqlSessionBuilder
は CassandraCqlSession
を構築するために使用されます。- 戻り値:
- 組み立てられた Cassandra
System Session
。 - 関連事項:
CqlSessionBuilder
CqlSession
buildSession
protected com.datastax.oss.driver.api.core.CqlSession buildSession(com.datastax.oss.driver.api.core.CqlSessionBuilder sessionBuilder) ユーザーがname
SE でキースペースを指定しなかった場合は、ユーザー定義のキースペースまたはデフォルトのキースペースにSession
を構築します。- パラメーター:
sessionBuilder
-CqlSessionBuilder
は CassandraCqlSession
を構築するために使用されます。- 戻り値:
- 構築された
CqlSession
をユーザー定義のキースペースに追加します。 - 関連事項:
CqlSessionBuilder
CqlSession
performSchemaAction
protected void performSchemaAction()CassandraMappingContext
メタデータを使用して構成されたSchemaAction
を実行します。createTables
protected void createTables(boolean drop, boolean dropUnused, boolean ifNotExists) スキーマアクションを実行します。- パラメーター:
drop
- 型 / テーブルを削除する場合は true です。dropUnused
- 未使用の型 / テーブル(つまり、CassandraMappingContext
によって使用されることが知られていない型 / テーブル)を削除する場合は true です。ifNotExists
- 各作成ステートメントにIF NOT EXISTS
を追加してフェイルセーフ作成を実行する場合は true です。
getObject
public com.datastax.oss.driver.api.core.CqlSession getObject()- 次で指定:
- インターフェース
org.springframework.beans.factory.FactoryBean<com.datastax.oss.driver.api.core.CqlSession>
のgetObject
getObjectType
- 次で指定:
- インターフェース
org.springframework.beans.factory.FactoryBean<com.datastax.oss.driver.api.core.CqlSession>
のgetObjectType
translateExceptionIfPossible
@Nullable public org.springframework.dao.DataAccessException translateExceptionIfPossible(RuntimeExceptionSE e) - 次で指定:
- インターフェース
org.springframework.dao.support.PersistenceExceptionTranslator
のtranslateExceptionIfPossible
destroy
public void destroy()- 次で指定:
- インターフェース
org.springframework.beans.factory.DisposableBean
のdestroy
closeSession
protected void closeSession()通常のセッションオブジェクトを閉じます。closeSystemSession
protected void closeSystemSession()システムセッションオブジェクトを閉じます。
KeyspacePopulator
と一緒にSessionFactoryInitializer
またはSessionFactoryFactoryBean
を使用してください。