簡體   English   中英

如何在 MongoDB 異步驅動程序中限制線程池大小

[英]How to limit thread pool size in MongoDB async driver

根據JAVA-2561 ,可以限制自 3.6 版以來 MongoDB 異步驅動程序創建的線程數。

但是,我找不到任何有關如何執行此操作的文檔。

在檢查了 D. SM 鏈接的提交后,我發現您需要在創建AsynchronousSocketChannelStreamFactoryFactory時指定一個AsynchronousChannelGroup ,然后您將其提供給客戶端設置:

var channelGroup = AsynchronousChannelGroup.withFixedThreadPool (10, Thread::new);
return MongoClients.create (MongoClientSettings.builder ()
    .streamFactoryFactory (AsynchronousSocketChannelStreamFactoryFactory.builder ()
        .group (channelGroup)
        .build ())
    .build ());

AsynchronousChannelGroup有幾種 static 工廠方法,使用最符合您需求的一種。

使用 4.0.4 MongoDB 驅動程序(至少),如果未指定組,則使用 JVM 系統范圍的默認組,這是無界的。

這項工作似乎已在此提交中完成。 希望這可以幫助。

暫無
暫無

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

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