Spring Boot中增强对MongoDB的配置(连接池等)

之前在博客上转载了一篇关于《如何在Spring Boot中是配置MongoDB的连接数》的文章,相信关注我博客的朋友们肯定也看过了。这篇文章的作者主要重写了 MongoDbFactory的构建来完成,整体实现的过程还是有一点点小小的复杂。本文就来具体说说如何更简单的来实现对MongoDB的更多配置定制。

spring-boot-starter-mongodb-plus

几周之前,我就在spring4all的github上创建了这个项目,主要就是想扩展一下官方spring boot starter对mongodb的支持,提供更多配置属性,比如:连接数的配置等。

先来看看如果使用这个扩展,是否要比之前那样自己定制要方便的多:

如何使用

1. 在使用了 spring-boot-starter-data-mongodb的项目中,增加以下依赖

<dependency>
    <groupId>com.spring4all</groupId>
    <artifactId>mongodb-plus-spring-boot-starter</artifactId>
    <version>1.0.0.RELEASE</version>
</dependency>

2. 在应用主类上增加 @EnableMongoPlus注解,比如:

@EnableMongoPlus
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

支持的配置参数

可配置参数如下:

spring.data.mongodb.option.min-connection-per-host=0
spring.data.mongodb.option.max-connection-per-host=100
spring.data.mongodb.option.threads-allowed-to-block-for-connection-multiplier=5
spring.data.mongodb.option.server-selection-timeout=30000
spring.data.mongodb.option.max-wait-time=120000
spring.data.mongodb.option.max-connection-idle-time=0
spring.data.mongodb.option.max-connection-life-time=0
spring.data.mongodb.option.connect-timeout=10000
spring.data.mongodb.option.socket-timeout=0

spring.data.mongodb.option.socket-keep-alive=false
spring.data.mongodb.option.ssl-enabled=false
spring.data.mongodb.option.ssl-invalid-host-name-allowed=false
spring.data.mongodb.option.always-use-m-beans=false

spring.data.mongodb.option.heartbeat-socket-timeout=20000
spring.data.mongodb.option.heartbeat-connect-timeout=20000
spring.data.mongodb.option.min-heartbeat-frequency=500
spring.data.mongodb.option.heartbeat-frequency=10000
spring.data.mongodb.option.local-threshold=15

上述所配置的值均为默认值

后记

如果您觉得该项目对您有用,欢迎给予Star支持:https://github.com/SpringForAll/spring-boot-starter-mongodb-plus/

同时也欢迎关注我的:

  • Github: https://github.com/dyc87112/
  • 博客: http://blog.didispace.com/

之前发布的简陋版Spring Cloud服务管理开源项目Isona还在缓慢开发中,敬请期待:https://github.com/SpringForAll/isona

原文发布于微信公众号 - 程序猿DD(didispace)

原文发表时间:2018-03-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

linux GDB调试c++程序

  GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNI...

1182
来自专栏跟着阿笨一起玩NET

WebSerivce测试工具 Storm

1380
来自专栏向治洪

Ant打包

Ant打包 使用步骤: 对于已经存在的工程需要利用Ant命令更新一下: android update project -n Test -p D:/wo...

2318
来自专栏听雨堂

MySql.Data.dll的版本

在.Net下访问Mysql,先是用6.4.4,老有问题,也不知道哪个版本可以用,查询官网 https://dev.mysql.com/doc/connector...

35911
来自专栏SpringBoot 核心技术

SpringCloud组件:你的Eureka服务注册中心安全吗?

在之前的章节我们讲到了SpringCloud组件:搭建Eureka服务注册中心,已经可以让我们自定义的微服务节点进行注册到该Eureka Server上,不过在...

3714
来自专栏编程

Spring Boot+Mybatis+Redis二级缓存开发指南

背景 Spring-Boot因其提供了各种开箱即用的插件,使得它成为了当今最为主流的Java Web开发框架之一。Mybatis是一个十分轻量好用的ORM框架。...

53510
来自专栏Android开发实战

Android Binder跨进程通信

为了保证 安全性 & 独立性,一个进程 不能直接操作或者访问另一个进程,即Android的进程是相互独立、隔离的

1303
来自专栏码匠的流水账

docker运行kafka manager

192.178.99.100:9000,然后添加cluster即可,其中zk地址填写zookeeper:2181

5082
来自专栏Java帮帮-微信公众号-技术文章全总结

springboot入门(4)_web开发

springboot入门(4)_web开发 摘要: 前几篇大概介绍了demo的搭建运行,Thymeleaf模板引擎的整合还有运行原理(主要是自动默认配置star...

4439
来自专栏xingoo, 一个梦想做发明家的程序员

[大数据之Sqoop] —— 什么是Sqoop?

介绍 ? sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具。你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs...

26610

扫码关注云+社区

领取腾讯云代金券