簡體   English   中英

com.allanbank.mongodb Java Mongodb異步驅動程序錯誤-無法引導與MongoDB服務器的連接

[英]com.allanbank.mongodb Java Mongodb Async driver error - Could not bootstrap a connection to the MongoDB servers

我正在使用谷歌guice框架實現Web服務,在這里我注入了帶有構造函數的mongodb模塊來初始化mongodb連接。 在這里,對於我使用MongoClient的每種方法,我都會做一些事情,然后在獲得結果后關閉連接。 問題是,如果存在大量繁重的計算,則連接將關閉並且給出錯誤將無法引導連接錯誤。 請找到實現mongodb連接的方法,該方法將保持活動狀態或重新開始通信...

   try{
        MongoDBModule module = new MongoDBModule();
        MongoClient mongoClient =  module.getMongoDBClient();
        MongoDatabase database  = mongoClient.getDatabase(m_client.getDatabaseName());
        MongoCollection collection = database.getCollection("CAMPUS_PROD");

        //do stuff with mongoclient

        mongoClient.close();

       return document.resuls
    }catch(IOException ie){
           // print exception
     }

像所有MongoDB驅動程序一樣,您不應按請求創建和關閉MongoClient。 相反,您想找到一種方法,在應用程序啟動時創建MongoClient,然后在應用程序退出時關閉它。

在您的情況下,我將讓您的Guice Binder創建MongoClient,然后執行bind(...)。toInstance(...)。 例如,

bind(MongoClient.class).toInstance(mongoClient);

在使用該MongoClient的類,你應該調用close()。

當第一個請求觸發MongoClient以發現MongoDB集群並且我們無法創建與任何服務器的連接時,將導致“無法啟動”錯誤。 這很容易由打開和關閉MongoClient引起的連接抖動引起。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM