Это важный раздел application-dev.yml:
spring:
data:
cassandra:
contactPoints: localhost
protocolVersion: V4
compression: LZ4
keyspaceName: demo_ks
entityPackage: com.demo.domain
port: 9042
Пришлось использовать файл docker-compose, который запускает контейнер cassandra:3.11.3
, порты 9042, 9160, 7199, 7000, 7001 иобъем cassandra_data:/data
.Позже я добавлю все это в какой-нибудь репозиторий GitHub и отредактирую этот ответ с полным кодом.
В классе My CassandraConfiguration
есть bean-компоненты, возвращающие CassandraCustomConversions
, ClusterBuilderCustomizer
и Session
, также с автопроводкой Cluster
и MetricRegistry
.
Важные разделы pom.xml
:
<properties>
<spring-boot.version>2.0.5.RELEASE</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.cassandraunit</groupId>
<artifactId>cassandra-unit-spring</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-extras</artifactId>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-mapping</artifactId>
</dependency>
</dependencies>