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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

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

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

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

先決條件

先運行mongodb肯定是必須的,然后導(dǎo)入以下包:

?
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()實例表示到數(shù)據(jù)庫的連接池; 你將只需要mongoclient類的一個實例,即使有多個線程也是一樣。

重要:

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

  • 所有資源使用限制(例如,最大連接等)適用于每個mongoclient實例。
  • 要關(guān)閉一個實例,調(diào)用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將自動發(fā)現(xiàn)主要和副本。

you can specify the members using themongoclienturi connection string:

指定兩個副本集:

 

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

 

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

 

復(fù)制代碼 代碼如下:
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構(gòu)造函數(shù)。

連接到一個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或兩者來指定連接設(shè)置。

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

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

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

?
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);

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

至于生產(chǎn)環(huán)境怎么配置, 要根據(jù)業(yè)務(wù)情況來實際分析, 我在后邊會提供一個參考.

生產(chǎn)環(huán)境配置見: mongodb連接配置實踐

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91寡妇天天综合久久影院 | 精品久久看 | 国产香蕉久久 | 日本捏胸吃奶视频免费 | h动态图男女啪啪27报 | 国产成人综合亚洲一区 | 男人的天堂在线观看免费 | 日本精品人妖shemale人妖 | 亚洲无线一二三四区 | 男女视频在线观看网站 | 精品免费视在线视频观看 | 亚洲国产区 | 九九影院午夜理论片无码 | 欧美高清无砖专区欧美精品 | 久久久免费热线精品频 | 无码人妻99久久密AV | 亚洲人成在线播放 | 无人区在线观看免费国语完整版 | 手机能看的黄色网站 | 乌克兰一级毛片9一18 | 亚洲精品国产A久久久久久 亚洲精品福利一区二区在线观看 | 青草久久网| 含羞草传媒每天免费一次破解 | 国产精品亚洲片在线va | 好大水好多好爽好硬好深视频 | 热99精品在线 | 亚洲精品综合一区二区 | 免费被靠视频动漫 | 亚洲大片免费看 | 国产免费一区二区三区免费视频 | 成成人看片在线 | blacked黑人| 美女禁区视频无遮挡免费看 | 青青青手机在线观看 | 色一情一区二区三区四区 | 视频在线视频免费观看 | 四虎在线网站 | 天天爱天天操天天射 | 久九九精品免费视频 | 猛男强攻变sao货 | 日韩欧免费一区二区三区 |