如何阻止Cassandra尝试自动连接

时间:2017-04-18 18:57:00

标签: spring-boot spring-data-cassandra

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

加载Beans来切换

现在我想添加Cassandra,但是一旦我将以下依赖项添加到我的pom,它就开始尝试连接到localhost上的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连接...

2 个答案:

答案 0 :(得分:5)

您可以禁用Cassandra自动配置,

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

答案 1 :(得分:0)

是的,那就是它,谢谢!

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

我的@SpringBootApplication@Configuration类。