我们正在使用Spring数据 - cassandra,当我们在不提供配置的情况下运行应用程序时,spring boot会尝试连接到localhost。有没有办法阻止弹簧启动自动连接?
提前致谢:)
答案 0 :(得分: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在第一次使用时被初始化。
Exclude CassandraAutoConfiguration。根据您的设置,甚至更多自动配置。这种方法非常具有侵入性,因为所需的依赖关系可能未初始化。