Docs Menu
Docs Home
/ / /
Kotlin コルーチン

新機能

次の新機能をご覧ください。

  • バージョン5.1.3

  • バージョン5.1.2

  • バージョン5.1.1

  • バージョン 5.1

  • バージョン 5.0

  • バージョン 4.11

  • バージョン 4.10

5.1.3 ドライバー パッチ リリースには次の変更が含まれています。

  • Cursor型の使用時にアサーション エラーが発生する可能性がある問題を修正します。

5.1.2 ドライバー パッチ リリースには次の変更が含まれています。

  • null 可能なジェネリック パラメータ型で Kotlin データ クラスをエンコードするためのサポート。 たとえば、次のコードでContainerクラスをエンコードできます。

    @Serializable
    data class Box<T>(
    val boxed: T
    )
    @Serializable
    data class Container(
    val box: Box<String?>
    )

5.1.1 ドライバー パッチ リリースには次の変更が含まれています。

  • MONGODB-OIDC 認証メカニズムを使用する場合、authMechanismProperties 接続string値にカンマ文字を含めることはできません。 この動作の詳細については、エンタープライズ認証ガイドの MONGODB-OIDCセクションを参照してください。

警告

このリリースの廃止

ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のプログラム要素に依存するアプリケーション コードをすべて置き換えます。

このセクションには、次の情報が含まれています。

  • MongoDB サーバー v 3.6のサポートは非推奨であり、次のドライバー バージョンのリリースで削除される予定です。 MongoDB サーバー配置をアップグレードする方法については、MongoDB サーバー マニュアルの「リリースノート 」を参照してください。

  • GraalVM ネイティブ イメージ テクノロジーの内部テスト。 これらのテストには、 GraalVM ネイティブ イメージ ツールを使用してネイティブ アプリケーションをビルドすることが含まれます。

  • MONGODB-OIDC認証メカニズムのサポートを強化します。OIDC の詳細については、エンタープライズ認証メカニズムガイドの「エンタープライズ認証メカニズム」セクションを参照してください。

  • 多形のMongoCollectionインスタンスの使用時に操作で誤ったコーデックが使用される問題を修正しました。 これにより、 bson-kotlinxを使用するときに弁別子情報が失われることがなくなります。

  • 多形のMongoCollectionインスタンスを使用する際に、クラス弁別子がデコード中の最初のフィールドであり、フィールド型エラーが発生する問題を修正します。

  • 多態的な 直列化 のサポート。 詳細については、 Kotlin 直列化 ガイドの「多形直列化」セクションを参照してください。

  • serverMonitoringMode接続 URI オプションを導入します。 詳細については、「接続オプション 」ガイドを参照してください。

5.0 ドライバー リリースの新機能は次のとおりです。

  • KotlinSerializerCodecProviderコンストラクターがserializersModule bsonConfigurationオブジェクトと オブジェクトを受け入れるようになりました。

    KotlinSerializerCodec.create(clazz.kotlin, serializersModule=serializersModule, bsonConfiguration=bsonConfiguration)

    これにより、構成をカスタマイズしやすくなります。

  • コンテナ タイプの消去につながる Kotlin 反映バグを修正します。

このセクションには、次の情報が含まれています。

警告

このリリースの廃止

ドライバーの将来のメジャー リリースで重大な変更を避けるため、非推奨のメソッドとタイプに依存するすべてのアプリケーション コードを置き換えます。

4.11 ドライバー リリースでは、次の項目が非推奨になります。

  • 次のネットワーク アドレス関連のメソッドは非推奨であり、v5.0 で削除されます。

    • ServerAddress メソッド getSocketAddress()getSocketAddresses()

      getSocketAddress()の代わりに、 java.net.InetAddressgetByName()インスタンス メソッドを使用します。

      getSocketAddresses()の代わりに、 java.net.InetAddressgetAllByName()インスタンス メソッドを使用します。

    • UnixServerAddress メソッド getUnixSocketAddress()

      getUnixSocketAddress() の代わりに jnr.unixsocket.UnixSocketAddress のインスタンスを構築します。コンストラクターに UNIX ソケットファイルのフル パスを渡します。デフォルトでは 、 MongoDB は"/tmp/mongodb-27017.sock" に配置された UNIX ソケットファイルを作成します。UnixSocketAddress の詳細については、UnixSocketAddress APIドキュメントを参照してください。

  • StreamFactory インターフェースに関連する次のメソッドとタイプは非推奨となり、 v5.0 で削除される予定です。

    • streamFactoryFactory() メソッド MongoClientSettings.Builder

    • getStreamFactoryFactory() メソッド MongoClientSettings

    • NettyStreamFactoryFactory クラス

    • NettyStreamFactory クラス

    • AsynchronousSocketChannelStreamFactory クラス

    • AsynchronousSocketChannelStreamFactoryFactory クラス

    • BufferProvider クラス

    • SocketStreamFactory クラス

    • Stream クラス

    • StreamFactory クラス

    • StreamFactoryFactory クラス

    • TlsChannelStreamFactoryFactory クラス

    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 ドライバー リリースの新機能には、次のものが含まれます。

  • SOCKS5 プロキシを使用した MongoDB への接続のサポート。

  • 16 MB を超える 変更ストリーム イベントのフラグメントを識別するために、 ChangeStreamDocumentクラスにgetSplitEvent()メソッドを追加しました。 16 MB を超えるイベントを処理するには、変更ストリームの集計ステージ$changeStreamSplitLargeEventを使用する必要があります。

  • $vectorSearchの集計ステージ ビルダを追加しました。

  • Atlas Search インデックス マネジメント ヘルパーを追加しました。

  • Snappyおよびzstd圧縮ライブラリの依存関係バージョンを更新しました。 現在の依存関係バージョンの詳細については、「ネットワーク圧縮 」を参照してください。

  • 接続プール イベントの期間をモニタリングするために、次のクラスにgetElapsedTime()メソッドを追加しました。

  • Java 21 仮想スレッドと構造化同時実行性のサポート。 仮想スレッドの不要な固定を回避し、スレッドの中断された状態を保持するようにドライバー内部がアップデートされました。後者はキャンセルに使用される構造化同時実行性において重要であるためです。

    仮想スレッドの詳細については、Virtual Threads JDK の拡張提案」を参照してください。構造化同時実行の詳細については、構造化同時実行 JDK 機能強化の提案 を参照してください。

  • 次のタイプの API ドキュメントを更新しました。

重要

Kotlin ドライバーのバージョン 4.10.1 以降で、 kotlinx-serializationライブラリを使用するには、 bson-kotlinxライブラリを明示的な依存関係として追加する必要があります。

  • コルーチンと同期アプリケーションの両方で、 Kotlin サーバーサイドでの使用をサポートします。

  • Kotlin データ クラスのコーデック サポート。

  • kotlinx.serializationライブラリのサポート

戻る

クイック リファレンス

項目一覧