По по умолчанию (в случае любой ошибки или пропущенного свойства) он попытается подключиться к локальному хосту, так как он установлен как DEFAULT_CONTACT_POINTS
Ваш синтаксис правильный, я думаюбыло бы то, что свойство не читается вашим приложением вообще.Вы можете попытаться отладить его и проверить.
Что касается отладки: точки контакта установлены здесь , если вы проверите, всегда будет установлено значение default = localhost .
В вашем CassandraConfig, кроме переопределения метода getKeyspaceName()
, вам также необходимо переопределить методы cluster()
и cassandraMapping()
, чтобы он работал с желаемой настройкой.Например:
@Configuration
public class CassandraConfig extends AbstractCassandraConfiguration {
public static final String KEYSPACE = "my_keyspace";
// read contact points from config
@Value("${spring.data.cassandra.contact-points}")
private String contactPoints;
@Override
public CassandraClusterFactoryBean cluster() {
CassandraClusterFactoryBean bean = super.cluster();
bean.setContactPoints(contactPoints);
return bean;
}
Также примечание: вы получите ожидаемое поведение, если добавите только одну контактную точку, поскольку драйвер будет искать все доступные узлы.На самом деле, если вы хотите ограничить связь с конкретным узлом, вам нужно реализовать loadBalancingPolicy
для исключения.