我们如何阻止spring boot数据cassandra连接到localhost?

时间:2016-12-22 10:37:41

标签: spring-boot spring-data-cassandra

我们正在使用Spring数据 - cassandra,当我们在不提供配置的情况下运行应用程序时,spring boot会尝试连接到localhost。有没有办法阻止弹簧启动自动连接?

提前致谢:)

1 个答案:

答案 0 :(得分:2)

你有多种方法可以实现这一点,但它们都不是一个布尔标志:

  1. 如果可以提供依赖项排除,则删除Cassandra依赖项
  2. 自己提供@Lazy Session / CassandraTemplate @Bean

    @Configuration
    public class MyCassandraConfiguration extends CassandraDataAutoConfiguration {
    
        public MyCassandraConfiguration(BeanFactory beanFactory, CassandraProperties properties, Cluster cluster, Environment environment) {
            super(beanFactory, properties, cluster, environment);
        }
    
        @Override
        @Bean
        @Lazy
        public CassandraSessionFactoryBean session(CassandraConverter converter) throws Exception {
            return super.session(converter);
        }
    
        @Bean
        @Lazy
        @Override
        public CassandraTemplate cassandraTemplate(Session session, CassandraConverter converter) throws Exception {
            return super.cassandraTemplate(session, converter);
        }
    }
    

    Lazy beans在第一次使用时被初始化。

  3. Exclude CassandraAutoConfiguration。根据您的设置,甚至更多自动配置。这种方法非常具有侵入性,因为所需的依赖关系可能未初始化。