Saturday, July 23, 2022

Example, Working with multiple Reactive MongoDB reactive having different Databases

 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());
}
}

No comments:

Post a Comment