根据JAVA-2561,可以限制自3.6版以来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中完成。希望这会有所帮助。