アパッチカサンドラは利用できませんが、あなたが@Lazy
を使用して独自のSession
とCassandraTemplate
豆を定義する必要がある場合には、春のブートアプリケーションを起動することが可能です。豆はCassandraAutoConfiguration
の箱から提供されますが、熱心に初期化され(デフォルト動作)、Session
が作成されます。 Session
にはカザンドラへの接続が必要です。カザンドラは、遅延して初期化されていない場合に起動を妨げます。
次のコードでは、遅延したリソースを初期化します:
@Configuration
public class MyCassandraConfiguration {
@Bean
@Lazy
public CassandraTemplate cassandraTemplate(@Lazy Session session, CassandraConverter converter) throws Exception {
return new CassandraTemplate(session, converter);
}
@Bean
@Lazy
public Session session(CassandraConverter converter, Cluster cluster,
CassandraProperties cassandraProperties) throws Exception {
CassandraSessionFactoryBean session = new CassandraSessionFactoryBean();
session.setCluster(cluster);
session.setConverter(converter);
session.setKeyspaceName(cassandraProperties.getKeyspaceName());
session.setSchemaAction(SchemaAction.NONE);
return session.getObject();
}
}