【发布时间】:2017-05-07 23:04:02
【问题描述】:
我们正在使用 Spring 数据 - cassandra,当我们在不提供配置的情况下运行应用程序时,spring boot 会尝试连接到 localhost。有没有办法阻止 spring boot 自动连接?
提前致谢:)
【问题讨论】:
标签: spring-boot spring-data-cassandra
我们正在使用 Spring 数据 - cassandra,当我们在不提供配置的情况下运行应用程序时,spring boot 会尝试连接到 localhost。有没有办法阻止 spring boot 自动连接?
提前致谢:)
【问题讨论】:
标签: spring-boot spring-data-cassandra
您有多种方法可以实现这一点,但它们都不是布尔标志:
提供@LazySession/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);
}
}
惰性 bean 在第一次使用时被初始化。
ExcludeCassandraAutoConfiguration。根据您的设置,甚至更多的自动配置。这种方法相当具有侵入性,因为可能没有初始化所需的依赖项。
【讨论】: