Миграция драйвера Java Cassandra с 3 на 4

#java #cassandra #driver

#java #cassandra #драйвер

Вопрос:

В настоящее время я переношу драйвер java Cassandra с версии 3.x на 4.x и испытываю трудности с установкой желаемой конфигурации для нового драйвера.

Я понимаю, что Cluster класс исчез и заменен CqlSession , просто понятия не имею, как их перенести:

 Cluster cluster = Cluster.builder()
    ...
    // how can i migrate these to be used in CqlSession ???
    .withLoadBalancingPolicy(loadBalancingPolicy)
    .withCompression(ProtocolOptions.Compression.LZ4)
    .withQueryOptions(new QueryOptions().setConsistencyLevel(LOCAL_QUORUM))
    .build();
 

Есть идеи, как перенести это на новый драйвер? Могут ли они быть каким-то образом установлены CqlSessionBuilder или я должен использовать что-то совершенно другое?

Ответ №1:

Конфигурация была полностью переработана в драйвере Java 4. Рекомендуется использовать файл конфигурации reference для настраиваемых параметров. Например, вы должны определить параметры сжатия с помощью:

 datastax-java-driver {
  advanced.protocol.compression = lz4 // or snappy
}
 

или установите уровень согласованности на основе профиля выполнения:

 datastax-java-driver {
  profiles {
    oltp {
      basic.request.timeout = 1000 milliseconds
      basic.request.consistency = LOCAL_QUORUM
  }
}
 

Для получения подробной информации ознакомьтесь с Руководством по обновлению драйвера Java 4.x в качестве отправной точки. Затем ознакомьтесь со следующими страницами для справки:

Если вам интересно, ознакомьтесь с образцом приложения для драйверов Java в Astra, которое предоставляет вам весь код, необходимый для быстрого начала работы. Приветствия!

Комментарии:

1. большое вам спасибо. Возможно, у меня будет еще один вопрос. В настоящее время мы используем пользовательскую политику балансировки нагрузки с сохранением состояния. Есть ли какой-нибудь способ вставить объект балансировки нагрузки, в котором уже есть некоторые зависимости, вместо того, чтобы просто передавать int в класс балансировки нагрузки?

2. Я не уверен. Позвольте мне связаться с разработчиками драйверов в DataStax и вернуться с обновлением. Приветствия!