Java: не удается найти символ: класс CassandraClusterFactoryBean

Я разрабатываю микросервис на основе весеннего облачного проекта (упаковка maven). Я использую cassandra на образе докера в проекте. Я получаю ошибку в CassandraConfiguration. Я импортировал «import org.springframework.data.cassandra.config.CassandraClusterFactoryBean;» в CassandraConfiguration, но я ошибся. Сообщение об ошибке в интеллектуальной идее. Я попытался запустить этот проект на eclipse. У меня опять ошибка. Спасибо!

java: cannot find symbol 
  symbol:   class Cassandra Cluster Factory Bean
  location: class com.accountservice.springcloudmicroserviceaccount.Configuration.CassandraConfiguration
import org.springframework.data.cassandra.config.CassandraClusterFactoryBean;
and public CassandraClusterFactoryBean cluster(){
CassandraClusterFactoryBean cluster=super.cluster();
cluster.setUsername(username);
cluster.setPassword(password);
return cluster;
}

Я пытался сделать что-то pom.xml. Я искал решение на этом сайте, но снова получил ошибку. пом.xml


   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.7.5</version>
      <relativePath/> <!-- lookup parent from repository -->
   </parent>
   <groupId>com.accountservice</groupId>
   <artifactId>springcloudmicroserviceaccount</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>springcloudmicroserviceaccount</name>
   <description>Demo project for Spring Boot</description>
   <properties>
      <java.version>17</java.version>
   </properties>
   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
         <groupId>org.springframework.data</groupId>
         <artifactId>spring-data-cassandra</artifactId>
      </dependency>
      <dependency>
         <groupId>com.codahale.metrics</groupId>
         <artifactId>metrics-core</artifactId>
         <version>3.0.2</version>
      </dependency>
      <dependency>
         <groupId>org.projectlombok</groupId>
         <artifactId>lombok</artifactId>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <build>
         <plugins>
            <plugin>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <configuration>
                  <source>19</source>
                  <target>19</target>
               </configuration>
            </plugin>
         </plugins>
   </build>

</project>

Спасибо за ваш комментарий. Я попытался импортировать org.springframework.data.cassandra.core.CassandraClusterFact‌​oryBean , но все еще не решен.

engineerdavut 30.10.2022 20:08

Хм. Похоже на старую проблему: stackoverflow.com/questions/71962997/…

knittl 30.10.2022 20:22

Спасибо. сегодня не видел. Я искал в месте поиска stackoverflow. Я узнал, как использовать stackoverflow от вас.

engineerdavut 31.10.2022 17:34
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
278
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

CassandraClusterFactoryBean был удален в 2019 году с переходом на драйвер Cassandra 4. Все подробности можно найти в исходном запросе на вытягивание на GitHub: https://github.com/spring-projects/spring-data-cassandra/pull/167

Критические изменения:

Удаление типов (без замены):

  • […]
  • CassandraCqlClusterFactoryBean
  • […]

Сводка конфигурации

Драйвер 4 объединяет объекты Cluster и Session в один объект CqlSession, поэтому все API, связанные с кластером, были удалены. Конфигурация была пересмотрена в больших частях, удалив большинство элементов конфигурации, которые были перемещены в DriverConfigLoader, который в основном основан на файлах. Это означает, что SocketOptions, AddressTranslator и многие другие параметры теперь настраиваются через другие средства.

Дальнейшая информация:

[выделено мной]

Дополнительная информация приведена в руководстве по обновлению:

Cluster больше не существует; сеанс теперь является основным компонентом, инициализируемым за один шаг:

CqlSession session = CqlSession.builder().build();
session.execute("...");

Спасибо . Я заглянул внутрь класса AbstractCassandraConfiguration. Затем я искал кластерный метод. cassandraSession теперь выполняет свой долг. Мне очень жаль. Большое спасибо. Я должен был решить эту ошибку. У меня сегодня голова остановилась. Решение; общедоступный метод CqlSessionFactoryBean cassandrasession(). импортировать org.springframework.data.cassandra.config.CqlSessionFactoryB‌​ean;

engineerdavut 30.10.2022 23:12

Другие вопросы по теме