如何阻止Cassandra尝试自动连接

Den*_*nno 2 spring-boot spring-data-cassandra

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

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-cassandra</artifactId>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我希望能够更好地控制何时加载Cassandra资源.

当我添加Mongo依赖项时,它不会尝试自动连接:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

有谁熟悉这种行为?我该怎么控制呢?我并不总是需要Cassandra连接......

Dee*_*pak 6

您可以禁用Cassandra自动配置,

@SpringBootApplication
@EnableAutoConfiguration(exclude={CassandraDataAutoConfiguration.class})
Run Code Online (Sandbox Code Playgroud)

  • 将其用于更高的 Spring Boot 版本:`@SpringBootApplication(exclude = {CassandraDataAutoConfiguration.class, CassandraAutoConfiguration.class})` (2认同)