一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Java 連接MongoDB集群的幾種方式

詳解Java 連接MongoDB集群的幾種方式

2021-06-19 10:57超超boy Java教程

這篇文章主要介紹了詳解Java 連接MongoDB集群的幾種方式,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

先決條件

先運行mongodb肯定是必須的,然后導入以下包:

?
1
2
3
4
5
import com.mongodb.mongoclient;
import com.mongodb.mongoclienturi;
import com.mongodb.serveraddress;
import com.mongodb.mongocredential;
import com.mongodb.mongoclientoptions;

mongoclient

mongoclient()實例表示到數據庫的連接池; 你將只需要mongoclient類的一個實例,即使有多個線程也是一樣。

重要:

通常,您只能為給定的mongodb部署(例如獨立,副本集或分片群集)創建一個mongoclient實例,并在您的應用程序中使用它。 但是,如果您創建了多個實例:

  • 所有資源使用限制(例如,最大連接等)適用于每個mongoclient實例。
  • 要關閉一個實例,調用mongoclient.close() 來清理資源。

連接到一個獨立的mongodb實例

以下幾種方法:

1.

?
1
mongoclient mongoclient = new mongoclient( "host1" , 27017 );?

2. you can specify themongoclienturi connection string.

?
1
mongoclient mongoclient = new mongoclient(new mongoclienturi("mongodb://host1:27017"));

連接到副本集

mongodb將自動發現主要和副本。

you can specify the members using themongoclienturi connection string:

指定兩個副本集:

 

復制代碼 代碼如下:
mongoclient mongoclient = new mongoclient( new mongoclienturi("mongodb://host1:27017,host2:27017,host3:27017"));?

 

至少有一個副本集和副本集選項的成員:

 

復制代碼 代碼如下:
mongoclient mongoclient = new mongoclient( new mongoclienturi( "mongodb://host1:27017,host2:27017,host3:27017/?replicaset=myreplicaset"));

 

你可以使用serveraddress指定副本集中的所有成員.

?
1
2
3
4
mongoclient mongoclient = new mongoclient(
arrays.aslist(new serveraddress("host1", 27017),
       new serveraddress("host2", 27017),
       new serveraddress("host3", 27017)));

連接到分片集群

要連接到分片群集,請將mongos實例或多個實例指定給mongoclient構造函數。

連接到一個mongos實例:

?
1
mongoclient mongoclient = new mongoclient( "localhost" , 27017 );

連接多個 mongos 實例:

?
1
2
3
4
5
mongoclient mongoclient = new mongoclient( new mongoclienturi("mongodb://host1:27017,host2:27017"));
 
mongoclient mongoclient = new mongoclient(
  arrays.aslist(new serveraddress("host1", 27017),
         new serveraddress("host2", 27017)));

連接選項

您可以使用mongoclienturi或mongoclientoptions或兩者來指定連接設置。

例如,您可以在mongoclienturi連接字符串中指定 tls/ssl和身份驗證設置:

?
1
2
mongoclienturi uri = new mongoclienturi("mongodb://user1:pwd1@host1/?authsource=db1&ssl=true");
mongoclient mongoclient = new mongoclient(uri);

您還可以使用mongoclientoptions來指定 tls/ssl 和mongocredential的認證信息:

?
1
2
3
4
5
6
7
8
9
string user; // the user name
 string database; // the name of the database in which the user is defined
 char[] password; // the password as a character array
 // ...
 mongocredential credential = mongocredential.createcredential(user, database, password);
 mongoclientoptions options = mongoclientoptions.builder().sslenabled(true).build();
 mongoclient mongoclient = new mongoclient(new serveraddress("host1", 27017),
                      arrays.aslist(credential),
                      options);

這里只是官方給的簡單演示連接, 不可直接用于生產環境, 比如: 這里邊沒有配置讀寫關注, 讀取偏好, 連接池配置等都是默認的. 而這些默認值直接用于生產環境肯定是不行的.

至于生產環境怎么配置, 要根據業務情況來實際分析, 我在后邊會提供一個參考.

生產環境配置見: mongodb連接配置實踐

參考官方文檔:https://mongodb.github.io/mongo-java-driver/3.4/driver/tutorials/connect-to-mongodb/

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/jycboy/p/10076859.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品一区二区视频 | 五月天婷婷精品免费视频 | 久久久无码精品无码国产人妻丝瓜 | 国产日韩欧美在线观看不卡 | 免费yjsp妖精com | 九九久久国产精品大片 | 国产在线激情视频 | 国产精品午夜剧场 | 俺去俺来也在线www色官网 | 精品国产自在现线拍国语 | 日产乱码卡1卡2卡三免费 | 久久久久琪琪精品色 | 久久午夜一区二区 | 成年美女黄网站色视频大全免费 | 欧美综合亚洲图片综合区 | 男人吃奶动态图 | 成年男女免费视频网站 | 国产理论片在线观看 | 欧美亚洲国产综合在线 | 极品妖艳许清赵丽全文免费阅读 | 亚洲精品第五页 | 国产传媒天美果冻 | 亚洲另类老妇videos | 2020年新四虎免费 | 日本xxx在线观看免费播放 | 日韩在线免费播放 | 粉嫩高中生第一次不戴套 | 国产亚洲福利精品一区 | 久久久久久久伊人电影 | 高清一级做a爱免费视 | 高清不卡日本v在线二区 | 成人亚洲精品一区 | juy_661佐佐木明希在线播放 | gay 男同志被捆绑茎 | 思思玖玖 | 四虎在线视频免费观看视频 | 日本在线www | 456成人免费高清视频 | 欧美一级激情 | 视频一区二区国产无限在线观看 | 亚洲国产精品嫩草影院永久 |