Почему я получаю «Несколько записей с одним и тем же ключом: default=datacenter1 и default=datacenter1» при использованиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Почему я получаю «Несколько записей с одним и тем же ключом: default=datacenter1 и default=datacenter1» при использовани

Сообщение Гость »


У меня есть следующее....

Код: Выделить всё

---
version: '2'
services:
cassandra1:
image: ...cassandra:4.0.0
environment:
- CASSANDRA_DC=datacenter1
ports:
- "9042:9042"
cassandra2:
image: ...cassandra:4.0.0
environment:
- CASSANDRA_DC=datacenter1
- CASSANDRA_SEEDS=cassandra1
ports:
- "9043:9042"
depends_on:
- "cassandra1"
И следующий код для настройки Cassandra

Код: Выделить всё

application:
cassandra:
keyspace-name: test
username: cassandra
password: cassandra
local-datacenter: datacenter1
nodes:
- host: 192.168.56.117
port: 9042
- host: 192.168.56.117
port: 9043

@Getter
@Setter
@Configuration
@ConfigurationProperties(prefix = "application.cassandra")
public class CassandraProperties {
private String keyspaceName;
private String username;
private String password;
private String localDatacenter;
private List nodes;
public static class Node {
@Getter
@Setter
private String host;
@Getter
@Setter
private Integer port;
}
}

@Configuration
@EnableCassandraRepositories
public class CassandraConfig extends AbstractCassandraConfiguration {

@Autowired
private CassandraProperties properties;

@Override
protected SessionBuilderConfigurer getSessionBuilderConfigurer() {
return new SessionBuilderConfigurer() {
@Override
public CqlSessionBuilder configure(CqlSessionBuilder cqlSessionBuilder) {
List nodes = properties.getNodes();
nodes.forEach(
node ->
cqlSessionBuilder.addContactPoint(
InetSocketAddress.createUnresolved(
node.getHost(),
node.getPort()
)
)
);
cqlSessionBuilder.withAuthCredentials(properties.getUsername(), properties.getPassword());
cqlSessionBuilder.withLocalDatacenter(properties.getLocalDatacenter());
return cqlSessionBuilder;
}
};
}

@Override
protected String getKeyspaceName() {
return properties.getKeyspaceName();
}
}
Но когда я пытаюсь запустить приложение, я получаю

Код: Выделить всё

Caused by: java.lang.IllegalArgumentException: Multiple entries with same key: default=datacenter1 and default=datacenter1
at com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap.conflictException(ImmutableMap.java:215)
at com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:209)
at com.datastax.oss.driver.shaded.guava.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:147)
at com.datastax.oss.driver.shaded.guava.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:110)
at com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:393)
at com.datastax.oss.driver.api.core.session.ProgrammaticArguments$Builder.build(ProgrammaticArguments.java:418)
at com.datastax.oss.driver.api.core.session.SessionBuilder.buildDefaultSessionAsync(SessionBuilder.java:844)
at com.datastax.oss.driver.api.core.session.SessionBuilder.buildAsync(SessionBuilder.java:817)
at com.datastax.oss.driver.api.core.session.SessionBuilder.build(SessionBuilder.java:835)
at org.springframework.data.cassandra.config.CqlSessionFactoryBean.buildSystemSession(CqlSessionFactoryBean.java:539)
at org.springframework.data.cassandra.config.CqlSessionFactoryBean.afterPropertiesSet(CqlSessionFactoryBean.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
... 94 common frames omitted
What am I missing?
To explain a little bit I am using different ports since they are different containers. They show up in peers table so I think the servers are configured right but if there is an easier way to do multiple ports without the custom builder I am good with that too.


Источник: https://stackoverflow.com/questions/781 ... and-defaul
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»