无法连接到码头化的 Cassandra

Cannot connect to dockerized Cassandra

代码抛出以下异常:

 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cassandraConfiguration': Invocation of init method failed; nested exception is 

 com.datastax.driver.core.exceptions.NoHostAvailableException:
 All host(s) tried for query failed
 (
   tried:

   localhost/127.0.0.1:9042
   (com.datastax.driver.core.exceptions.TransportException: [localhost/127.0.0.1:9042]
    Cannot connect),

   localhost/0:0:0:0:0:0:0:1:9042
   (com.datastax.driver.core.exceptions.TransportException: [localhost/0:0:0:0:0:0:0:1:9042]
    Cannot connect)
 )

我正在使用 JHipster example found at GitHub。 运行 mvnw clean test 没有 return 任何失败。

9042 和 9160 端口已在防火墙中打开。

依赖项是 cassandra-driver-extras、cassandra-driver-mapping 和 spring-boot-starter-data-cassandra。

这是申请的重要部分-dev.yml:

spring:
    data:
        cassandra:
            contactPoints: localhost
            protocolVersion: V4
            compression: LZ4
            keyspaceName: demo_ks
            entityPackage: com.demo.domain
            port: 9042

必须使用启动容器 cassandra:3.11.3、端口 9042、9160、7199、7000、7001 和卷 cassandra_data:/data 的 docker-compose 文件。稍后我会将其全部放在某个 GitHub 存储库中并使用完整代码编辑此答案。

我的 CassandraConfiguration class 有 bean 返回 CassandraCustomConversionsClusterBuilderCustomizerSession,也自动装配 ClusterMetricRegistry .

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>