如何使用不同的solr主机动态创建SolrRepositoryFactory?

时间:2019-01-17 09:50:45

标签: spring-data-solr

与其让Spring实例化mongodb存储库“ OrderRepository”,还可以如下动态创建它:

MongoCredential mongoCredential = MongoCredential.createCredential(
                    dbUsername, "admin", dbPassword.toCharArray());
MongoClient mongoClient = new MongoClient(new ServerAddress(dbHost, Integer.valueOf(dbPort)), mongoCredential, new MongoClientOptions.Builder().build());
MongoTemplate mongoOps = new MongoTemplate(mongoClient, dbName);
OrderRepository repository = new MongoRepositoryFactory(mongoOps).getRepository(OrderRepository.class);

这意味着启动时不需要数据库连接详细信息。

我试图对SolrCrudRepository实施相同的模式无济于事。

SolrClient solrClient = new HttpSolrClient.Builder(host).build();
SolrTemplate solrTemplate = new SolrTemplate(solrClient);
solrRepositoryFactory = new SolrRepositoryFactory(solrTemplate );
OrderRepository repository = solrRepositoryFactory.getRepository(OrderRepository.class);

以上操作无效。 solrTemplate或solrRepositoryFactory没有正确实例化。

0 个答案:

没有答案