2015-12-01 25 views
2

與非阻塞異步mongo java/scala驅動程序一起使用時,可以爲無法直接使用空閒連接執行的操作定義等待時間和等待隊列大小。 設置這些值時,mongo驅動程序將使線程等待可用連接。非阻塞異步mongo java/scala驅動程序可以阻塞線程 - 如何處理該問題?

此行爲是非常危險的考慮與非阻塞異步IO編寫的應用程序。這些應用程序使用的線程數量非常有限(=內核數量)。 阻塞其中一個線程可能會阻塞整個應用程序。

什麼是推薦的方式,爲這樣的應用程序? 我們是否應該將所有這些等待設置設置爲0,並在應用程序中處理MongoWaitQueueFullException並重試? 當連接空閒時,驅動程序是否應調用應用程序回調?

在此先感謝您的答案!

回答