Sample code for: Working with multiple Reactive MongoDB reactive having different Databases
package com.hk.webapp.config;
import com.mongodb.reactivestreams.client.MongoClient;
import com.mongodb.reactivestreams.client.MongoClients;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractReactiveMongoConfiguration;
import org.springframework.data.mongodb.core.ReactiveMongoTemplate;
import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories;
import java.util.Collection;
import java.util.Collections;
@Configuration
@EnableReactiveMongoRepositories(basePackages = "com.xy.dao",reactiveMongoTemplateRef = "xdbReactiveMongoTemplate")
public class XDbConfig extends AbstractReactiveMongoConfiguration
{
@Value("${mongo.connection_uri}")
private String connectionUri;
private String dbName="x_db";
@Override
public MongoClient reactiveMongoClient() {
return MongoClients.create(connectionUri);
}
@Override
protected String getDatabaseName() {
return dbName;
}
@Bean(name="xdbReactiveMongoTemplate")
public ReactiveMongoTemplate xdbReactiveMongoTemplate()
{
return new ReactiveMongoTemplate(reactiveMongoClient(), getDatabaseName());
}
}