日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

springboot配置mongodb連接池的方法步驟

瀏覽:28日期:2023-03-28 16:11:27

application.yml 配置

mongodb: address: localhost:27017 database: soms username: admin password: 123456 # 連接池配置 clientName: soms-task # 客戶端的標識,用于定位請求來源等 connectionTimeoutMs: 10000 # TCP連接超時,毫秒 readTimeoutMs: 15000 # TCP讀取超時,毫秒 poolMaxWaitTimeMs: 3000 #當連接池無可用連接時客戶端阻塞等待的時長,單位毫秒 connectionMaxIdleTimeMs: 60000 #TCP連接閑置時間,單位毫秒 connectionMaxLifeTimeMs: 120000 #TCP連接最多可以使用多久,單位毫秒 heartbeatFrequencyMs: 20000 #心跳檢測發送頻率,單位毫秒 minHeartbeatFrequencyMs: 8000 #最小的心跳檢測發送頻率,單位毫秒 heartbeatConnectionTimeoutMs: 10000 #心跳檢測TCP連接超時,單位毫秒 heartbeatReadTimeoutMs: 15000 #心跳檢測TCP連接讀取超時,單位毫秒 connectionsPerHost: 100 # 每個host的TCP連接數 minConnectionsPerHost: 5 #每個host的最小TCP連接數 #計算允許多少個線程阻塞等待可用TCP連接時的乘數,算法: threadsAllowedToBlockForConnectionMultiplier*connectionsPerHost,當前配置允許10*20個線程阻塞 threadsAllowedToBlockForConnectionMultiplier: 10

用來獲取配置參數的類

import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;import org.springframework.validation.annotation.Validated;import javax.validation.constraints.Min;import javax.validation.constraints.NotNull;import javax.validation.constraints.Size;import java.util.List;@Data@Validated@Component@ConfigurationProperties(prefix = 'mongodb')public class MongoClientOptionProperties { /** 基礎連接參數 */ private String database; private String username; private String password; @NotNull private List<String> address; /** 客戶端連接池參數 */ @NotNull @Size(min = 1) private String clientName; /** socket連接超時時間 */ @Min(value = 1) private int connectionTimeoutMs; /** socket讀取超時時間 */ @Min(value = 1) private int readTimeoutMs; /** 連接池獲取鏈接等待時間 */ @Min(value = 1) private int poolMaxWaitTimeMs; /** 連接閑置時間 */ @Min(value = 1) private int connectionMaxIdleTimeMs; /** 連接最多可以使用多久 */ @Min(value = 1) private int connectionMaxLifeTimeMs; /** 心跳檢測發送頻率 */ @Min(value = 2000) private int heartbeatFrequencyMs; /** 最小的心跳檢測發送頻率 */ @Min(value = 300) private int minHeartbeatFrequencyMs; /** 計算允許多少個線程阻塞等待時的乘數,算法:threadsAllowedToBlockForConnectionMultiplier*connectionsPerHost */ @Min(value = 1) private int threadsAllowedToBlockForConnectionMultiplier; /** 心跳檢測連接超時時間 */ @Min(value = 200) private int heartbeatConnectionTimeoutMs; /** 心跳檢測讀取超時時間 */ @Min(value = 200) private int heartbeatReadTimeoutMs; /** 每個host最大連接數 */ @Min(value = 1) private int connectionsPerHost; /** 每個host的最小連接數 */ @Min(value = 1) private int minConnectionsPerHost;}

配置類

package com.alkin.soms.common.mongo;import com.mongodb.MongoClient;import com.mongodb.MongoClientOptions;import com.mongodb.MongoCredential;import com.mongodb.ServerAddress;import org.apache.commons.lang.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.NoSuchBeanDefinitionException;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.mongodb.MongoDbFactory;import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.data.mongodb.core.SimpleMongoDbFactory;import org.springframework.data.mongodb.core.convert.*;import org.springframework.data.mongodb.core.mapping.MongoMappingContext;import java.util.ArrayList;import java.util.List;@Configurationpublic class MongoConfig { private final Logger log = LoggerFactory.getLogger(MongoConfig.class); /** * 自定義mongo連接池 * * @param properties * @return */ @Bean @Autowired public MongoDbFactory mongoDbFactory(MongoClientOptionProperties properties) { //創建客戶端參數 MongoClientOptions options = mongoClientOptions(properties); //創建客戶端和Factory List<ServerAddress> serverAddresses = new ArrayList<>(); for (String address : properties.getAddress()) { String[] hostAndPort = address.split(':'); String host = hostAndPort[0]; int port = Integer.parseInt(hostAndPort[1]); ServerAddress serverAddress = new ServerAddress(host, port); serverAddresses.add(serverAddress); } String username = properties.getUsername(); String password = properties.getPassword(); String database = properties.getDatabase(); MongoClient mongoClient; if (StringUtils.isNotEmpty(username) && StringUtils.isNotEmpty(password)) { //創建認證客戶端 MongoCredential mongoCredential = MongoCredential.createScramSha1Credential( username, database, password.toCharArray()); mongoClient = new MongoClient(serverAddresses.get(0), mongoCredential, options); } else { //創建非認證客戶端 mongoClient = new MongoClient(serverAddresses, options); } SimpleMongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(mongoClient, database); log.info('mongodb注入成功'); return mongoDbFactory; } @Bean(name = 'mongoTemplate') @Autowired public MongoTemplate getMongoTemplate(MongoDbFactory mongoDbFactory) { return new MongoTemplate(mongoDbFactory); } /** * mongo客戶端參數配置 * * @return */ public MongoClientOptions mongoClientOptions(MongoClientOptionProperties properties) { return MongoClientOptions.builder().connectTimeout(properties.getConnectionTimeoutMs()).socketTimeout(properties.getReadTimeoutMs()).applicationName(properties.getClientName()).heartbeatConnectTimeout(properties.getHeartbeatConnectionTimeoutMs()).heartbeatSocketTimeout(properties.getHeartbeatReadTimeoutMs()).heartbeatFrequency(properties.getHeartbeatFrequencyMs()).minHeartbeatFrequency(properties.getMinHeartbeatFrequencyMs()).maxConnectionIdleTime(properties.getConnectionMaxIdleTimeMs()).maxConnectionLifeTime(properties.getConnectionMaxLifeTimeMs()).maxWaitTime(properties.getPoolMaxWaitTimeMs()).connectionsPerHost(properties.getConnectionsPerHost()).threadsAllowedToBlockForConnectionMultiplier( properties.getThreadsAllowedToBlockForConnectionMultiplier()).minConnectionsPerHost(properties.getMinConnectionsPerHost()).build(); } @Bean public MappingMongoConverter mappingMongoConverter(MongoDbFactory factory, MongoMappingContext context, BeanFactory beanFactory) { DbRefResolver dbRefResolver = new DefaultDbRefResolver(factory); MappingMongoConverter mappingConverter = new MappingMongoConverter(dbRefResolver, context); try { mappingConverter.setCustomConversions(beanFactory.getBean(MongoCustomConversions.class)); } catch (NoSuchBeanDefinitionException ignore) { } // Don’t save _class to dao mappingConverter.setTypeMapper(new DefaultMongoTypeMapper(null)); return mappingConverter; }}

到此這篇關于springboot配置mongodb連接池的方法步驟的文章就介紹到這了,更多相關springboot配置mongodb連接池內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本不卡一二三区黄网| 亚洲精品一级| 一区免费在线| 久久精品国产99久久| 日本不卡的三区四区五区| 在线国产精品一区| 久久精品免视看国产成人| 成人在线黄色| 好吊视频一区二区三区四区| 精品成av人一区二区三区| 久久都是精品| 神马日本精品| 午夜电影亚洲| 国产精品sm| 青草国产精品久久久久久| 日韩二区在线观看| 日韩欧美一区二区三区在线观看| 久久精品 人人爱| 亚洲免费毛片| 久久久久一区| 国产精品1区| 精品久久91| 国产精品调教| 五月天综合网站| 成人午夜精品| 吉吉日韩欧美| 综合欧美亚洲| 亚洲一二三区视频| 欧美精品97| 国产精品婷婷| 亚洲欧美日韩综合国产aⅴ| 今天的高清视频免费播放成人| 香蕉成人av| 激情综合自拍| 亚洲欧美日韩专区| 日韩亚洲精品在线观看| 日韩国产欧美三级| 久久国产免费看| 欧美国产中文高清| 在线观看免费一区二区| 男人的天堂亚洲一区| 一区二区不卡| 丝袜美腿高跟呻吟高潮一区| 国产在线一区不卡| 午夜日韩福利| 久久久久久一区二区| 国产欧美欧美| 欧美日韩国产综合网| 亚洲手机在线| 日韩成人a**站| 国产精品hd| 青青草91视频| 亚洲毛片一区| 视频一区二区不卡| 美女少妇全过程你懂的久久| 国产成年精品| 电影91久久久| 毛片在线网站| 激情视频一区二区三区| 激情中国色综合| 国产毛片精品| 国产精品亚洲人成在99www| 日韩1区2区日韩1区2区| 国产情侣久久| 91欧美国产| 亚洲91视频| 亚洲三级国产| 九九久久国产| 亚洲国产一区二区在线观看| 天堂网在线观看国产精品| 免费成人在线影院| 美女在线视频一区| 日韩88av| 蜜臀精品久久久久久蜜臀| 午夜性色一区二区三区免费视频| 丝袜美腿亚洲色图| 欧美影院视频| 国产精品美女| 黄色国产精品| 91九色精品| 婷婷综合电影| 欧美三级第一页| 亚洲黄色免费av| 国产99久久久国产精品成人免费| 成人日韩在线观看| 国产成人精品亚洲线观看| 欧洲亚洲一区二区三区| 日本在线成人| 麻豆91精品视频| 高清一区二区| 久久视频精品| 亚洲精品欧美| 久久这里只有精品一区二区| 日韩精品久久久久久久电影99爱 | 日本国产欧美| 九九久久国产| 欧美日韩少妇| 伊人久久成人| 国产欧美日韩精品高清二区综合区| 亚洲开心激情| 国产999精品在线观看| 成人久久一区| 国产探花一区| 在线亚洲成人| 免费在线看一区| 国产亚洲精品精品国产亚洲综合| 国产精品一国产精品| 亚洲国产福利| 欧美日韩国产亚洲一区| 日韩精品亚洲一区二区三区免费| 久久成人精品| 黄色不卡一区| 国产福利资源一区| 精品高清久久| 日韩av网站在线免费观看| 国精品产品一区| 性色一区二区| 久久精品999| 欧美日韩国产免费观看| 亚洲最新无码中文字幕久久| 欧美在线综合| 欧美freesex黑人又粗又大| 亚洲资源网站| 麻豆精品久久| 视频一区在线视频| 国产精品毛片视频| 韩日一区二区三区| 亚洲欧美日韩国产一区| 国产精品66| 亚洲毛片视频| 日韩中文在线播放| 精品在线网站观看| 亚洲一区二区三区四区五区午夜| 老司机免费视频一区二区三区| 啪啪国产精品| 午夜精品免费| 亚洲午夜av| 精品国产精品国产偷麻豆| 91亚洲精品在看在线观看高清| 亚洲欧美日韩专区| 在线一区电影| 日韩和欧美一区二区三区| 日韩美女精品| 国产亚洲激情| 99久久精品网| 色婷婷久久久| 亚洲激情另类| 欧美好骚综合网| 色婷婷狠狠五月综合天色拍| 97精品一区二区| 久久久久97| 国产精品久久久久久久久久齐齐 | 国产亚洲激情| 99视频精品全国免费| 国产综合婷婷| 天堂资源在线亚洲| 国产一区二区三区成人欧美日韩在线观看| 日本精品国产| 国产欧美日韩精品一区二区三区| 日韩精品欧美大片| 成人在线丰满少妇av| 成人国产精品久久| 日韩毛片视频| 99pao成人国产永久免费视频| 婷婷色综合网| 性色一区二区| 久久亚洲人体| 99热精品久久| 国产一区导航| 亚洲欧美一级| 成人国产精品久久| 黑人精品一区| 美女尤物久久精品| 婷婷综合电影| 欧美日韩国产综合网| 亚洲ww精品| 美女视频黄 久久| 在线精品小视频| 国产成人a视频高清在线观看| 免费成人性网站| 国产精品欧美三级在线观看| 久久久精品午夜少妇| 国产一区亚洲| 亚洲欧美专区| 国产福利电影在线播放| 视频一区中文字幕精品| 亚洲一级淫片| 美女精品在线| 国产va在线视频| 中文字幕成人| 欧美精品高清| 亚洲免费毛片| 日本久久成人网| 亚洲一区区二区| 国内精品福利| 给我免费播放日韩视频| 国产精品日本一区二区不卡视频 | 欧美日一区二区在线观看| 精品国产午夜| 青青在线精品|