Как заблокировать Cassandra от попытки автоматического подключения

У меня есть этот проект, где я пытаюсь подключиться к различным типам БД в зависимости от конфигурации. У меня это работает для Mongo и MySQL и переключаться путем загрузки Beans с помощью @ConditionalOnProperty(name = "settings.data.source", havingValue = "mongodb")

Теперь я хочу добавить Cassandra, но как только я добавлю следующую зависимость в мой pom, он начинает пытаться подключиться к узлам Cassandra на localhost.

    <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>

Кто-нибудь знаком с этим поведением? Как я могу контролировать это? Мне не всегда нужна связь с Кассандрой...

2 ответа

Решение

Вы можете отключить автоматическую настройку Cassandra,

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

Да, вот и все, спасибо!

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

Для обоих моих @SpringBootApplication а также @Configuration классы.

Другие вопросы по тегам