Я не могу создавать таблицы в cassandra при запуске приложения. Я использую пружинную загрузку 2.1.6-RELEASE вдоль боковых пружинных загрузок-стартеров-webflux и пружинных загрузок-стартеров-данных-кассандры-реактивных.
Ниже приведены зависимости, которые я использую
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-amqp'
implementation 'org.springframework.boot:spring-boot-starter-jetty'
implementation 'org.springframework.boot:spring-boot-starter-data-cassandra-reactive'
Ниже приведен мой файл конфигурации
@Configuration
@EnableReactiveCassandraRepositories(basePackages = "tv.videoready.consumer.repository")
public class CassandraConfiguration extends AbstractCassandraConfiguration {
@Value("${spring.data.cassandra.contact-points}")
private String contactPoints;
@Value("${spring.data.cassandra.keyspace-name}")
private String keyspace;
@Value("${spring.data.cassandra.username}")
private String userName;
@Value("${spring.data.cassandra.password}")
private String password;
@Value("${spring.data.cassandra.port}")
private int port;
@Override
protected String getContactPoints() {
return contactPoints;
}
@Override
protected int getPort() {
return port;
}
@Override
protected String getKeyspaceName() {
return keyspace;
}
@Override
public SchemaAction getSchemaAction() {
return SchemaAction.CREATE_IF_NOT_EXISTS;
}
@Override
public String[] getEntityBasePackages() {
return new String[]{"tv.videoready.events.domain"};
}
@Override
public CassandraClusterFactoryBean cluster() {
PlainTextAuthProvider authProvider = new PlainTextAuthProvider(userName, password);
CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
cluster.setJmxReportingEnabled(false);
cluster.setContactPoints(contactPoints);
cluster.setPort(port);
cluster.setAuthProvider(authProvider);
cluster.setKeyspaceCreations(getKeyspaceCreations());
cluster.setReconnectionPolicy(new ConstantReconnectionPolicy(1000));
return cluster;
}
@Override
protected List<CreateKeyspaceSpecification> getKeyspaceCreations() {
CreateKeyspaceSpecification specification = CreateKeyspaceSpecification.createKeyspace(keyspace)
.ifNotExists()
.with(KeyspaceOption.DURABLE_WRITES, true);
return Arrays.asList(specification);
}
@Override
protected List<DropKeyspaceSpecification> getKeyspaceDrops() {
return Arrays.asList(DropKeyspaceSpecification.dropKeyspace(keyspace));
}
}
Пожалуйста, сообщите mw, если я что-то не так делаю.