如何阻止 Cassandra 尝试自动连接

How to block Cassandra from trying to connect automatically

我在这个项目中尝试根据配置连接到不同的数据库类型。 我让它为 Mongo 和 MySQL 工作,并通过使用 @ConditionalOnProperty(name = "settings.data.source", havingValue = "mongodb")

加载 Beans 进行切换

现在我想添加 Cassandra,但是一旦我将以下依赖项添加到我的 pom,它就会开始尝试连接到本地主机上的 Cassandra 节点。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-cassandra</artifactId>
    </dependency>

我想更好地控制何时加载 Cassandra 资源。

当我添加 Mongo 依赖项时它没有尝试自动连接:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>

有人熟悉这种行为吗?我怎样才能控制这个?我并不总是需要 Cassandra 连接...

您可以禁用 Cassandra 自动配置,

@SpringBootApplication
@EnableAutoConfiguration(exclude={CassandraDataAutoConfiguration.class})

是的,就是这样,谢谢!

@EnableAutoConfiguration(exclude={
        CassandraDataAutoConfiguration.class, 
        MongoDataAutoConfiguration.class, 
        MongoRepositoriesAutoConfiguration.class,
        MongoAutoConfiguration.class})

对于我的 @SpringBootApplication@Configuration 类。