【发布时间】:2017-04-26 13:44:14
【问题描述】:
我正在将现有的 java 项目迁移到 Spring Boot。它通过 Zookeeper 连接到 Solr。
它在启动时抛出以下错误。
org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /clusterstate.json
以下配置适用于本地,但在其他环境中 Zookeeper 需要一些身份验证(jaas.conf)。如何将 jaas.conf 传递给 Spring Boot,以便它可以正确初始化 SolrClient?
@Configuration
@EnableSolrRepositories(basePackages = "com.search", multicoreSupport = true)
public class SolrConfig {
@Value("${spring.data.solr.zk-host}")
private String zkHost;
@Bean
public SolrClient solrClient() {
return new CloudSolrClient(zkHost);
}
@Bean
public SolrTemplate solrTemplate(SolrClient solrClient) throws Exception {
return new SolrTemplate(solrClient);
}
}
jaas.conf
Client {
org.apache.zookeeper.server.auth.DigestLoginModule required
username="some_username"
password="some_password";
};
我尝试将凭据作为 zkDigestUsername 和 zkDigestPassword 的环境属性传递。在这种情况下,Spring Boot 启动期间没有异常,但是对 Solr 的后续插入/读取不起作用。
任何帮助将不胜感激。非常感谢!
【问题讨论】:
标签: spring-boot apache-zookeeper solrj