Spring Boot中增強對MongoDB的配置(連線池等)

程式猿DD_發表於2018-03-19

之前轉載了一篇關於《如何在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>
複製程式碼
  1. 在應用主類上增加@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/

同時也歡迎關注我的:

本文首發:http://blog.didispace.com/springbootmongodb-plus/

相關文章