Не удается подключиться к докеризованной Кассандре - PullRequest
0 голосов
/ 19 октября 2018

Код вызывает следующее исключение:

 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, найденный на GitHub .Выполнение mvnw clean test не возвращает никаких сбоев.

Порты 9042 и 9160 уже открыты в брандмауэре.

Зависимости: дополнительные функции cassandra-driver, отображение cassandra-driver и spring-boot-starter-данных Cassandra.

1 Ответ

0 голосов
/ 25 октября 2018

Это важный раздел 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...