了解以下版本中的新功能:
5.0 中的新增功能
5.0 驱动程序版本的新功能包括:
KotlinSerializerCodecProvider
构造函数现在接受serializersModule
和bsonConfiguration
对象:KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration) 这样可以更轻松地自定义配置。
修复了导致container类型擦除的 Kotlin 反射错误。
4.11 中的新增功能
本部分包括以下信息:
4.11 中的弃用
警告
此版本中的弃用内容
为避免驱动程序未来的主要版本出现破坏性更改,请替换任何依赖于弃用方法和类型的应用程序代码。
4.11 版驱动程序已弃用以下内容:
以下与网络地址相关的方法已弃用,并将在 v5.0 中删除:
ServerAddress 方法
getSocketAddress()
和getSocketAddresses()
。使用
java.net.InetAddress
的getByName()
实例方法,而不是getSocketAddress()
。使用
java.net.InetAddress
的getAllByName()
实例方法,而不是getSocketAddresses()
。UnixServerAddress 方法
getUnixSocketAddress()
。构建
jnr.unixsocket.UnixSocketAddress
实例,而不是getUnixSocketAddress()
。将 UNIX 套接字文件的完整路径传递给构造函数。默认情况下,MongoDB 会创建位于"/tmp/mongodb-27017.sock"
的 UNIX 套接字文件。要了解有关UnixSocketAddress
的详情,请参阅 UnixSocketAddress API 文档。
以下方法和类型与 StreamFactory 相关 接口已弃用,并计划在 v 中删除。5 0:
streamFactoryFactory()
方法来自MongoClientSettings.Builder
getStreamFactoryFactory()
方法来自MongoClientSettings
NettyStreamFactoryFactory
classNettyStreamFactory
classAsynchronousSocketChannelStreamFactory
classAsynchronousSocketChannelStreamFactoryFactory
classBufferProvider
classSocketStreamFactory
classStream
classStreamFactory
classStreamFactoryFactory
classTlsChannelStreamFactoryFactory
class
如果使用
MongoClientSettings.Builder.streamFactoryFactory()
来配置 Netty,则代码可能如下所示:import com.mongodb.connection.netty.NettyStreamFactoryFactory; // ... MongoClientSettings settings = MongoClientSettings.builder() .streamFactoryFactory(NettyStreamFactoryFactory.builder().build()) .build(); 将此代码替换为 TransportSettings.nettyBuilder(),如下例所示:
import com.mongodb.connection.TransportSettings; // ... MongoClientSettings settings = MongoClientSettings.builder() .transportSettings(TransportSettings.nettyBuilder().build()) .build();
4.11 中的新增功能
4.11 版驱动程序的新增功能包括:
支持使用 SOCKS5 代理连接到 MongoDB。
向
ChangeStreamDocument
类添加getSplitEvent()
方法,从而识别超过 16 MB 的变更流事件的片段。您必须在变更流中使用聚合阶段$changeStreamSplitLargeEvent
来处理超过 16 MB 的事件。已为
$vectorSearch
添加了聚合阶段构建器。添加了 Atlas Search 索引管理辅助工具。
更新了Snappy和zstd压缩库依赖项版本。 要学习;了解有关当前依赖项版本的详情,请参阅网络压缩。
为以下类添加
getElapsedTime()
方法,以监控连接池事件的持续时间:支持 Java 21 虚拟线程和结构化并发。驱动程序内部结构已更新,以避免不必要地虚拟线程绑定,并保留线程中断状态,后者对于用于取消的结构化并发很重要。
要了解有关虚拟线程的详细信息,请参阅虚拟线程 JDK 增强提案。要了解有关结构化并发的详细信息,请参阅结构化并发 JDK 增强提案。
已更新以下类型的 API 文档:
4.10 中的新增功能
重要
从 Kotlin 驱动程序 4.10.1 版开始,您必须将bson-kotlinx
库添加为显式依赖项,才能使用kotlinx-serialization
库。
支持 Kotlin 服务器端使用,包括协程和同步应用程序。
编解码器对 Kotlin 数据类的支持。
支持
kotlinx.serialization
库