spring-boot - 如何忽略 spring-boot-cassandra 默认配置来加载 cassandra 连接实例
问题描述
我添加了 cassandra starter 的依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-cassandra</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
但默认配置对我来说很差。
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'cassandraSession'
defined in class path resource
[org/springframework/boot/autoconfigure/data/cassandra/
CassandraDataAutoConfiguration.class]:
Invocation of init method failed; nested exception is
com.datastax.driver.core.exceptions.NoHostAvailableException:
All host(s) tried for query failed (tried: localhost/0:0:0:0:0:0:0:1:9042
(com.datastax.driver.core.exceptions.TransportException:
[localhost/0:0:0:0:0:0:0:1:9042] Cannot connect), localhost/127.0.0.1:9042
(com.datastax.driver.core.exceptions.TransportException:
[localhost/127.0.0.1:9042] Cannot connect))
Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException:
All host(s) tried for query failed (tried: localhost/0:0:0:0:0:0:0:1:9042
(com.datastax.driver.core.exceptions.TransportException:
[localhost/0:0:0:0:0:0:0:1:9042]
Cannot connect), localhost/127.0.0.1:9042
(com.datastax.driver.core.exceptions.TransportException:
[localhost/127.0.0.1:9042] Cannot connect))
当我没有配置' spring.data.cassandra.* '时,我希望spring应用程序不加载cassandra连接实例(如cassandraSession)
能做什么?
解决方案
您需要排除 CassandraDataAutoConfiguration 以禁用 spring boot cassandra 自动配置,例如
@SpringBootApplication
@EnableAutoConfiguration(exclude = { CassandraDataAutoConfiguration.class })
public class Application {
}
然后定义您自己的 Cassandra 配置,例如
@Configuration
@EnableReactiveCassandraRepositories
public class CassandraConfig extends AbstractReactiveCassandraConfiguration {
}
推荐阅读
- css - 反应 onMount 动画
- bash - 远程执行命令 | 仅保留 5 个最近的文件/目录
- html - 如何将 SCSS 添加到 Angular 库的组件中
- c++ - 反向字符串和回文
- django - 表单无效时,FormView get_context_data 不起作用
- c++ - DBus 上的 BlueZ 在不同的时间间隔内停止响应
- python - “解压”一个熊猫系列,复制 DataFrame 的其他值
- postgresql - 在 Postgres 转换中需要帮助
- javascript - 如何将选项卡“ALL”动态添加到菜单选项卡
- docker - 如何识别我的 Docker 容器正在运行的系统?我可以在 Docker 容器内传递 Docker 守护进程标签吗?