无法连接到码头化的 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 返回 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>
代码抛出以下异常:
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 返回 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>