Docs Menu
Docs Home
/ / /
Java Sync Driver

新機能

項目一覧

  • 5.2 の新機能
  • 5.1.3の新機能
  • 5.1.2の新機能
  • 5.1.1の新機能
  • 5.1 の新機能
  • 5.0 の新機能
  • 4.11 の新機能
  • 4.10 の新機能

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

  • バージョン 5.2

  • バージョン5.1.3

  • バージョン5.1.2

  • バージョン5.1.1

  • バージョン 5.1

  • バージョン 5.0

  • バージョン 4.11

  • バージョン 4.10

重要

MongoDB Server 3.6 のサポートの削除

Javaドライバー v5.2 はMongoDB Server3.6 のサポートを削除します。サーバーの互換性のあるバージョンの詳細については、「 互換性 」を参照してください。

5.2 ドライバー リリースには、次の変更、修正、機能が含まれています。

  • 接続 URI 内のホスト名とクライアント オプションの間にあるフォワードスラッシュ( / )の文字は任意です。 ドライバーは、次の接続 URI の例を同じ方法で解析します。

    // Connection URI with delimiting forward-slash
    String uri = "mongodb://example.com/?w=majority";
    // Connection URI without delimiting forward-slash
    String uri = "mongodb://example.com?w=majority";

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

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

  • MongoCollectionインスタンスのジェネリック型として基本クラスを指定している場合に、ジェネリック基本クラスを拡張する具象クラスをドライバーでエンコードおよびデコードできない問題を修正します。

  • SOCKS 5プロキシ機能を使用するときにドメイン名を検証する方法に関連する問題を修正し、最上位ドメインが 6 文字を超えるドメイン名を使用できるようにします。

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

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

  • 冗長なバイト配列クローンを排除し、GridFS スループットを最適化します。 GridFSDownloadStream型とGridFSUploadStream型では、 DocumentではなくBsonDocument型が使用されます。

警告

このリリースの廃止

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

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

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

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

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

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

警告

このリリースにおける重大な変更

このドライバー バージョンでは、重大な変更が導入されています。 これらの変更のリストについては、アップグレード ガイドの「バージョン 5.0 の重大な変更 」セクションを参照してください。

警告

このリリースの廃止

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

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

  • getElapsedTime()com.mongodb.event.ConnectionReadyEventConnectionCreatedEvent メソッドには、 の配信にかかる時間が含まれます。つまり、返される時間にはcom.mongodb.event.ConnectionPoolListener.connectionCreated()メソッドの期間が含まれます。

    com.mongodb.event.ConnectionCheckedOutFailedEventcom.mongodb.event.ConnectionCheckedOutEventgetElapsedTime()メソッドには、 com.mongodb.event.ConnectionCheckOutStartedEventの配信にかかる時間が含まれます。 つまり、返される時間にはcom.mongodb.eventConnectionPoolListener.connectionCheckOutStarted()メソッドの期間が含まれます。

5.0 ドライバー リリースでは、次の機能が導入されています。

  • listCollectionsコマンドのauthorizedCollectionオプションのサポートを追加します。 これは、 com.mongodb.client.MongoDatabase.listCollectionNames()メソッドを変更することで行われていました。 戻り値の型はcom.mongodb.client.ListCollectionNamesIterableになりましたが、以前はMongoIterable<String>でした。 この変更により、 ListCollectionNamesIterable.authorizedCollections()メソッドを使用してauthorizedCollectionsオプションを指定して戻り値を構成できるようになります。 次のクラスとインターフェースに対して同等の変更が加えられました。

    • com.mongodb.reactivestreams.client.MongoDatabase

    • org.mongodb.scala.MongoDatabase

    • com.mongodb.kotlin.client.MongoDatabase

    • com.mongodb.kotlin.client.coroutine.MongoDatabase

    これらの変更により、 listCollectionsNames() メソッド にバイナリを重大する変更が導入されます。 MongoDatabase.listCollectionNames()メソッドとauthorizedCollectionsオプションの詳細については、 listCollections Server のマニュアル ページ またはコレクションのリストを取得する を参照してください。

注意

The v 5.0.2 パッチ リリースは、SOCKS 5プロキシ機能を使用するときにドメイン名を検証する方法に関連する問題を修正し、最上位ドメインが 6 文字を超えるドメイン名を使用できるようにします。

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

警告

このリリースの廃止

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

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

  • DBCollectionクラスのgetStats()インスタンス メソッドとisCapped()インスタンス メソッドは非推奨です。 対応するサーバーコマンドは、MongoDB v6.2 以降では非推奨です。 これらのメソッドによって提供される情報を取得するには、代わりに$collStats集計パイプライン ステージを使用します。 次のコード例に示すように、集計を実行できます。

    Cursor cursor = collection.aggregate(Arrays.asList(
    new BasicDBObject("$collStats",
    new BasicDBObject("storageStats", new BasicDBObject()))),
    AggregationOptions.builder().build()
    );

    コレクションが Capped コレクションであるかどうかを判断するには、前述の例の集計でCursorインスタンスによって返されたstorageStats.cappedフィールドの値にアクセスします。

    $collStats集計演算子の詳細については、 $collStats(集計)サーバーのマニュアル エントリを参照してください。

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

  • StreamFactory に関連する以下のメソッドとタイプ インターフェースは非推奨であり、 v で削除される予定です。5 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 ドライバー リリースの新機能には、次のものが含まれます。

注意

The v 4.11.3 パッチ リリースは、SOCKS 5プロキシ機能を使用するときにドメイン名を検証する方法に関連する問題を修正し、最上位ドメインが 6 文字を超えるドメイン名を使用できるようにします。

4.10 ドライバー リリースの新機能には、次のものが含まれます。

  • Accumulators.percentile()Accumulators.median()統計集計用の メソッドと メソッドの実装。

  • com.mongodb.client.model.searchパッケージ内のインターフェースが@Evolvingではなく@Sealedとしてマークされるようになりました。 リンクされたインターフェースは、ライブラリの利用者によって拡張または実装されてはなりません。

  • ドライバーが再試行操作のために重複したログ メッセージを出力する問題を解決しました。 ドライバーは再試行操作ごとに 1 つのログ メッセージを正しく出力するようになりました。

  • org.bson.codecs.Parameterizableインターフェースは非推奨です。 コーデックが パラメーター化された型を対象としている場合は、このインターフェースをカスタムCodec型に実装する代わりに、コーデックのCodecProviderCodecProvider.get()メソッドをオーバーライドします。

  • カスタム DNS リゾルバのサポート。

  • Queryable Encryption (QE)のサポート QE 機能を使用するための要件の詳細については、「 Queryable Encryption ドライバーの互換性テーブル 」を参照してください。

戻る

クイック リファレンス