mongodb 配置双数据源两种连接方式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mongodb 配置双数据源两种连接方式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2225字,纯文字阅读大概需要4分钟。
内容图文
一、
1、自定义连接相关信息 application.yml
spring:
data:
mongodb:
mcdr:
database: mcdr
host: 10.188.188.100
port: 27017
username:
password:
mdc:
database: mdc
host: 10.188.188.104
port: 27103
username: mdc
password: mdc
2、mongo配置抽象类
@Data
public abstract class AbstractMongoConfig {
private String database;
private String host;
private int port;
private String username;
private String password;
public MongoDbFactory mongoDbFactory() throws Exception {
if ("mcdr".equals(database)) {
//无认证的初始化方法
return new SimpleMongoDbFactory(new MongoClient(host, port), database);
}
//有认证的初始化方法
ServerAddress serverAddress = new ServerAddress(host, port);
List<MongoCredential> mongoCredentialList = new ArrayList<>();
mongoCredentialList.add(MongoCredential.createCredential(username, database,
password.toCharArray()));
return new SimpleMongoDbFactory(new MongoClient(serverAddress, mongoCredentialList), database);
}
abstract public MongoTemplate getMongoTemplate() throws Exception;
}
3、双数据源配置
/**
* mongo主数据源(mcdr)
* prefix需要与配置文件中mcdr数据源的配置前缀对应
*
* @author sxp
* @date 2019/07/11
*/
@Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb.mcdr")
public class McdrMongoConfig extends AbstractMongoConfig {
@Primary
@Override
@Bean(name = "mongoTemplate")
public MongoTemplate getMongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory());
}
}
/**
* mongo次数据源(mdc)
* prefix需要与配置文件中mdc数据源的配置前缀对应
*
* @author sxp
* @date 2019/07/11
*/
@Configuration
@ConfigurationProperties(prefix = "spring.data.mongodb.mdc")
public class MdcMongoConfig extends AbstractMongoConfig {
@Override
@Bean(name = "mdcMongoTemplate")
public MongoTemplate getMongoTemplate() throws Exception {
return new MongoTemplate(mongoDbFactory());
}
}
二、使用uri连接方式
1、自定义连接相关信息 application.yml
spring:
data:
mongodb:
mcdr:
uri: mongodb://10.188.188.100:27017/mcdr
mdc:
uri: mongodb://mdc:mdc@10.188.188.104:27103/mdc
2、mongo配置抽象类
@Data
public abstract class AbstractMongoConfig {
private String uri;
public MongoDbFactory mongoDbFactory() throws Exception {
return new SimpleMongoDbFactory(new MongoClientURI(uri));
}
abstract public MongoTemplate getMongoTemplate() throws Exception;
}
3、双数据源配置与上面一致
内容总结
以上是互联网集市为您收集整理的mongodb 配置双数据源两种连接方式全部内容,希望文章能够帮你解决mongodb 配置双数据源两种连接方式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。