关闭Mongo的自动化配置

因为项目需要配置MongoDB多数据源.

为了避免Spring boot自动化配置带来的影响,因此通过注解屏蔽MongoDB自动化配置.

@SpringBootApplication(exclude =
{MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
public class StatApplication { public static void main(String[] args) { SpringApplication.run(StatApplication.class, args);
}
}

配置文件

个人倾向于使用uri方式初始化MongoClient,配置如下所示:

mongodb:
meta:
uri: mongodb://*:27017/admin?maxPoolSize=64
stat:
uri: mongodb://*:27017/stat?maxPoolSize=64

配置代码

@Data
@Configuration
public class MorphiaConfig { @Value("${mongodb.meta.uri}")
private String metaUri; @Value("${mongodb.stat.uri}")
private String statUri; @Bean("metaMongoClient")
public MongoClient metaMongoClient() {
final MongoClientOptions.Builder builder = MongoClientOptions.builder()
.maxConnectionIdleTime(6000)
.maxConnectionLifeTime(0);
return new MongoClient(new MongoClientURI(metaUri, builder));
} @Bean("statMongoClient")
public MongoClient statMongoClient() {
final MongoClientOptions.Builder builder = MongoClientOptions.builder()
.maxConnectionIdleTime(6000)
.maxConnectionLifeTime(0);
return new MongoClient(new MongoClientURI(statUri, builder));
} @Bean("metaDataStore")
public Datastore metaDataStore(@Autowired @Qualifier("metaMongoClient") MongoClient mongoClient) {
Morphia res = new Morphia();
// 扫描实体类
res.mapPackage("com.*.*.entity.meta");
Datastore datastore = res.createDatastore(mongoClient, "metadata");
// 建立索引
datastore.ensureIndexes();
return datastore;
} @Bean("statDataStore")
public Datastore statDataStore(@Autowired @Qualifier("statMongoClient") MongoClient mongoClient) {
Morphia res = new Morphia();
// 扫描实体类
res.mapPackage("com.*.*.entity.stat");
Datastore datastore = res.createDatastore(mongoClient, "stat");
// 建立索引
datastore.ensureIndexes();
return datastore;
}
}

通过以上代码,就可以建立两个独立的Datastore对象,可以通过对应的Bean name进行引入.

PS:

如果您觉得我的文章对您有帮助,请关注我的微信公众号,谢谢!

SpringBoot配置MongoDB多数剧源的更多相关文章

  1. Kali Linux 下安装配置MongoDB数据库 ubuntu 下安装配置MongoDB源码安装数据库

    Kali Linux 下安装配置MongoDB数据库   1.下载mongodb.tgz 压缩包: 2.解压到:tar -zxvf mongodb.tgz /usr/local/mongodb 3.创 ...

  2. java操作mongodb & springboot整合mongodb

    简单的研究原生API操作MongoDB以及封装的工具类操作,最后也会研究整合spring之后作为dao层的完整的操作. 1.原生的API操作 pom.xml <!-- https://mvnre ...

  3. SpringBoot整合mongoDB

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 这一片文章介绍一个springboot整合mongodb,如果你了解整合mysql之类的 ...

  4. SpringBoot结合MongoDB入门

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...

  5. Springcloud 中 SpringBoot 配置全集 (收藏版)

    Springcloud 中 SpringBoot 配置全集 (收藏版) 疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 前言 疯狂创客圈(笔者尼恩创建的高并发研习社群 ...

  6. SpringBoot整合MongoDB JPA,测试MongoRepository与MongoTemplate用法,简单增删改查+高级聚合

    源码 地址 -> https://github.com/TaoPanfeng/case/tree/master/04-mongo/springboot-mongo 一 引入依赖 <depe ...

  7. springboot配置Druid数据源

    springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...

  8. springboot配置server相关配置&整合模板引擎Freemarker、thymeleaf&thymeleaf基本用法&thymeleaf 获取项目路径 contextPath 与取session中信息

    1.Springboot配置server相关配置(包括默认tomcat的相关配置) 下面的配置也都是模板,需要的时候在application.properties配置即可 ############## ...

  9. SpringBoot配置属性之NOSQL

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

随机推荐

  1. JDOJ 2898 删数问题

    洛谷 P1106 删数问题 https://www.luogu.org/problemnew/show/P1106 JDOJ 2898: 删数问题 https://neooj.com:8082/old ...

  2. Linux性能优化实战学习笔记:第五十六讲

    一.上节回顾 上一节,我带你一起梳理了,性能问题分析的一般步骤.先带你简单回顾一下. 我们可以从系统资源瓶颈和应用程序瓶颈,这两个角度来分析性能问题的根源. 从系统资源瓶颈的角度来说,USE 法是最为 ...

  3. AI语音验证码识别

    欢迎使用AI语音验证码识别v4.0程序程序调用方法:http://code.hbadmin.com/?url=http://code.hbadmin.com/demo/2118534.wav [试听] ...

  4. thinkphp5.0 - 安装

    1.thinkphp 5.0 可以通过下载,git 等方式安装,我这里采用下载完整版安装,解压到一个目录下就行了 2.配置 web 服务器配置文件,我是用的是 nginx(nginx/1.9.15) ...

  5. Linux-iostat命令

    查看TPS和吞吐量信息[oracle@oracle01 ~]$ iostatLinux 3.10.0-693.el7.x86_64 (oracle01)     07/31/2019     _x86 ...

  6. C#面试题(一)

    一.背景 最近学习巩固C#的基础,看到<小胖李的面试之旅>的文章,把他的面试题目拿来总结以及学习. 二.面试题 1.wcf想用http协议通信怎么做? 答:在配置文件里面配置,因为wcf默 ...

  7. 实验二 Java基础(数据/表达式、判定/循环语句)

    实验二 (一)实验内容 编写简单的计算器,完成加减乘除模运算. 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. 编写测试代码,测试验证. ...

  8. CentOS7 Hbase 安装(完全分布式)

    安装前准备 hadoop安装 zookeeper安装 安装步骤 1.下载 $ wget http://mirror.bit.edu.cn/apache/hbase/2.0.5/hbase-2.0.5- ...

  9. ng 引入query

    ng 引入jquery 1.在项目中 npm install --save jquery 在对应组件中加入 import * as $ from "jquery";   在angu ...

  10. ECS -------------- 更换系统

    由于是在云服务器上所以更换系统比较简单 1.首先将你运行的实例停止 点击确定 2. 将停止的系统进行更换 确定 点击批量更改 更换需要的系统 点击确定 更换系统输入手机验证码. 更换好了 3.修改远程 ...