如何在MongoDB异步驱动程序中限制线程池大小

根据JAVA-2561,可以限制自3.6版以来MongoDB异步驱动程序创建的线程数。

但是,我找不到有关该操作方法的任何文档。

iCMS 回答:如何在MongoDB异步驱动程序中限制线程池大小

检查了D.SM链接的提交后,我发现您在创建AsynchronousChannelGroup时需要指定一个AsynchronousSocketChannelStreamFactoryFactory,而您又将其提供给客户端设置:

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

AsynchronousChannelGroup有几种静态工厂方法,请使用最符合您需求的方法。

(至少)使用4.0.4 MongoDB驱动程序时,如果未指定任何组,则使用JVM系统范围的默认组,该组不受限制。

,

该工作似乎已在this commit中完成。希望这会有所帮助。

本文链接:https://www.f2er.com/2078918.html

大家都在问