我正在開發基于 Spring Cloud 專案的微服務。(打包 maven)我在專案中的 docker 映像上使用 cassandra。我在 CassandraConfiguration 中出錯。我匯入了“import org.springframework.data.cassandra.config.CassandraClusterFactoryBean;” 在 CassandraConfiguration 中,但我出錯了。intellij idea 中的錯誤訊息。我試圖在 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。我在這個網站上搜索了解決方案,但我再次遇到錯誤。pom.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>
uj5u.com熱心網友回復:
CassandraClusterFactoryBean隨著遷移到 Cassandra 驅動程式 4 于 2019 年被洗掉。所有詳細資訊都可以在 GitHub 上的原始拉取請求中找到:https ://github.com/spring-projects/spring-data-cassandra/pull/167
重大變化:
洗掉型別(無需替換):
- […]
- CassandraCqlClusterFactoryBean
- […]
配置總結
Driver 4 將 Cluster 和 Session 物件合并為一個 CqlSession 物件, 因此洗掉了所有與 Cluster 相關的 API。通過洗掉大部分移動到主要基于檔案的 DriverConfigLoader 中的配置項,對配置進行了很大一部分修改。這意味著現在可以通過其他方式配置 SocketOptions、AddressTranslator 和更多選項。
更多資訊:
- https://docs.datastax.com/en/developer/java-driver/4.3/
- https://docs.datastax.com/en/developer/java-driver/4.3/upgrade_guide/
[強調我的]
升級指南中參考的更多資訊:
Cluster不再存在;會話現在是主要組件,只需一步即可初始化:CqlSession session = CqlSession.builder().build(); session.execute("...");
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/524822.html
