プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Coherenceリリース・ノート
12c (12.2.1)
E69901-01
  目次へ移動
目次

前
 
次
 

1 技術的な変更と機能強化

この章では、Oracle Coherence製品で12c (12.2.1)に導入された変更と機能強化について説明します。このドキュメントの内容は、その発行時点において正確です。オラクル社では、ソフトウェアのリリース後、リリース・ノートを定期的に更新しています。

1.1 最新ソフトウェア・パッチのダウンロードとインストール

My Oracle Supportにアクセスして、最新のソフトウェア・パッチをダウンロードします。

https://support.oracle.com

パッチで提供されるソフトウェア修正について最新情報を入手する方法は、パッチ配布のREADMEファイルを参照してください。

  1. My Oracle Supportにログインします。

  2. 「パッチと更新版」タブをクリックします。

  3. 「パッチ検索」タブの下で、「製品またはファミリ(拡張検索)」を選択し、「ファミリのすべての製品を含む」チェック・ボックスを選択します。

  4. 製品名をOracle Coherenceと入力して、プラットフォームとリリースを選択し、「検索」をクリックします。

Oracle Coherenceで現在使用できるパッチのリストが表示されます。

1.2 Coherenceデータ・グリッドの新機能と改良機能

Oracle Coherence 12c (12.2.1)は、業界をリードする分散型インメモリー・データ・グリッド製品の最新版です。Coherence 12c (12.2.1)には、拡張性の高いソリューションにおける複雑さの削減、構成の簡易化、および開発期間の短縮に役立つ、数多くの新機能が搭載されています。

  • 永続化 – Coherence永続化は、Coherence分散キャッシュの永続化およびリカバリを管理する一連のツールおよびテクノロジです。キャッシュされたデータは永続化されるため、突発的な障害や計画して行われるメンテナンスでのクラスタの再起動の後短時間でリカバリできます。詳細は、『Oracle Fusion Middleware Oracle Coherenceの管理』のキャッシュの永続化に関する項を参照してください。

  • フェデレーテッド・キャッシング – フェデレーテッド・キャッシングでは、地理的に分散された複数のクラスタ間でキャッシュ・データをレプリケートおよび同期します。キャッシュされたデータはクラスタ間でレプリケートされ、冗長性、オフサイト・バックアップ、および地理的に異なる場所にいるアプリケーション・ユーザーに対する複数のアクセス・ポイントを提供します。詳細は、『Oracle Fusion Middleware Oracle Coherenceの管理』のクラスタ間でのキャッシュのレプリケートに関する項を参照してください。

  • セキュリティ強化 – Coherenceに新しいセキュリティ機能が搭載されています。その機能は次のようなものです。

    • 監査ログ – 監査ログを使用してクラスタ操作へのユーザー・アクセスが記録されます。詳細は、『Oracle Fusion Middleware Oracle Coherenceの保護』のセキュリティ監査ログの有効化に関する項を参照してください。

    • アクセス制御認可 – アクセス制御認可では、アプリケーションで独自の認可ロジックを定義し、クラスタ操作へのアクセスを制限できます。詳細は、『Oracle Fusion Middleware Oracle Coherenceの保護』のサーバー側操作へのアクセスの認可に関する項を参照してください。

    • 追加JAAS権限 – JAAS権限では、Java Security Managerを使用してCoherence APIの様々な場所が保護されます。詳細は、『Oracle Fusion Middleware Oracle Coherenceの保護』のローカル権限のプログラムでの指定に関する項を参照してください。

    • SSLプロトコルおよび暗号スイート - SSLソケット・プロバイダは、潜在的に弱い暗号や特定のプロトコル・バージョンの使用を制御するように構成することができます。詳細は、『Oracle Fusion Middleware Oracle Coherenceの保護』の暗号化スイートとプロトコル・バージョンの使用の制御に関する項を参照してください。

  • Java 8の機能のサポート – Coherence APIが更新され、Java 8リリースで導入されたプログラミング機能を使用できるようになりました。この機能には、ラムダ、ストリーム、デフォルト・メソッドなどがあります。これらの機能によって、データ・グリッド操作を実行する際の使いやすさや柔軟性が提供されます。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のJava 8の機能のサポートに関する項を参照してください。

  • ジェネリクスのサポート – Java Genericsでは、コンパイルおよび実行時の型チェックおよびコンパイルでの型推論が提供されます。Coherence APIがりファクタリングされ、Java Genericsをサポートするようになりました。さらに、NamedCache APIの一部として型を明示的に構成できます。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のジェネリクスのサポートに関する項を参照してください。

  • クラスタ・ポートおよびアドレスの管理 – ポートおよびアドレスの選択が変更されてクラスタ管理が簡略化され、複数のクラスタ間でクラスタ・ポートおよびアドレスを共有できるようになりました。ほとんどの場合、ポートおよびアドレスを明示的に設定する必要はありません。

    • Coherenceのポートの選択が簡略化され、ポートの管理が容易になりました。Coherenceに、マルチキャスト通信、ウェル・ノウン・アドレスおよびネーム・サービスを使用する拡張プロキシに使用される共通クラスタ・ポートが含まれるようになりました。さらに、ユニキャスト・ポートが自動的に割り当てられます。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のクラスタの設定に関する項および『Oracle Fusion Middleware Oracle Coherenceリモート・クライアントの開発』の拡張プロキシの構成に関する項を参照してください。

    • Coherenceのアドレスの選択が簡略化され、アドレスの管理が容易になりました。ユニキャスト通信の場合、複数のIPまたはNICを持つコンピュータにはMTUが最も大きいルーティング可能なIPがCoherenceで自動的に選択されます。ウェル・ノウン・アドレスの場合、CoherenceはWKAリストのIPにルーティング可能なIPを選択します。さらに、CoherenceでDNS名に割り当てられているIPアドレスを(実行時に)自動的に解決できるようになりました。ウェル・ノウン・アドレスおよびプロキシ・アドレスをDNSサーバーに格納して一元的に管理し、リアルタイムに更新できます。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のクラスタの設定に関する項を参照してください。

  • マルチテナンシ – 管理対象Coherenceサーバーを使用してデプロイされたCoherenceアプリケーションは、Weblogic Serverのマルチテナントによって提供されるデンシティおよび操作上の効率を最大限に活用できます。Coherenceの機能には、ドメイン・パーティションをまたがるキャッシュの分離、ドメイン・パーティションをまたがるキャッシュの共有、およびWLSTおよびFusion Middleware Controlを介して提供されるツール・サポートなどがあります。詳細は、『Oracle Fusion Middleware WebLogic Server MTの使用』のCoherenceの構成に関する項を参照してください。

  • 非同期のNamedCache APIAsyncNameCacheインタフェースによってキャッシュ操作をパラレルで完了でき、スループットが改善される結果、ユーザー・インタフェースの応答性がよくなります。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のNameCache操作の非同期の実行に関する項を参照してください。

  • 切捨て操作NamedCacheインタフェースに対するtruncateメソッドでキャッシュはクリアされますが、エントリレベルのキャッシュ・イベントは発生しません。この新しいAPIによってサーバー側のメモリー負荷が大幅に軽減され、リスナーでのキャッシュのネットワーク消費が飛躍的に削減されるため、特にニア・キャッシュに有用です。

  • 有効期限のスライド – 有効期限のスライドでは、アクセス中のキャッシュ・エントリの有効期限が延長されます。有効期限のスライドは、更新されるキャッシュ・エントリに対してはデフォルトで有効ですが、読取り操作および非変異的操作に基づいて有効にすることもできます。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』の容量計画に関する項を参照してください。

  • 動的管理モード – 動的管理ではクラスタ内のノードの1つを管理ノードとして選択します。これは、管理対象Coherenceサーバーのデフォルト管理モードです。クラスタ・メンバーをJMX管理用に明示的に構成する必要がなくなりました。詳細は、『Oracle Fusion Middleware Oracle Coherenceのマネージメント』の動的管理モードの使用に関する項を参照してください。

  • 動的スレッド・プール – すべてのCoherenceサービスで動的にサイズ設定されたデーモン・スレッド・プールが使用されます。動的スレッド・プールはデフォルトで有効で、キャッシュ・スキームの定義時に<thread-count-max>および<thread-count-min>要素を使用してサービスに対して構成されます。

  • Coherence-JVisualVMプラグイン – Coherence-JVisualVMプラグインの新しいバージョンが提供され、新機能が搭載されています。この機能は、ノードの状態のレポート、ニア・キャッシュの統計の表示、パーティションの統計の表示、キャッシュの永続化の管理およびフェデレーテッド・キャッシングの管理などです。詳細は、『Oracle Fusion Middleware Oracle Coherenceのマネージメント』のCoherence-JVisualVMプラグインの使用に関する項を参照してください。

  • Coherence CohQL – Coherence CohQLに新機能が含まれています。この機能は、GARモジュールのロードのサポート、WLSマルチテナントのサポートおよびキャッシュ永続化のサポートなどです。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のCoherence問合せ言語の使用に関する項を参照してください。

  • サーバー送信イベント – サーバー送信イベントではCoherence RESTアプリケーションでCoherenceクラスタからキャッシュ・イベントを自動的に受信できます。詳細は、『Oracle Fusion Middleware Oracle Coherenceリモート・クライアントの開発』のサーバー送信イベントの使用に関する項を参照してください。

1.3 Oracle Coherence for Java 12c (12.2.1)

Oracle Coherence for Javaコンポーネントに新機能、機能向上およびbug修正が追加されました。

1.3.1 パーティション・キャッシュの機能強化と修正

  • 読取り/書込みバッキング・マップで、放出予定であるがまだキャッシュ・ストアに書き込まれていないエントリの格納および書込み操作が速くなりました。

  • サーバー側イベント・スロットルを実装するSamplingEventTransformerクラスが追加されました。

  • 非同期NamedCache APIサポート(AsyncNameCacheインタフェース)が追加されました。

  • 非ブロッキングInvocableのサポートが追加されました。NonBlockingInvocableインタフェースは、起動サービス・スレッドで対応するタスクを実行し、ブロッキングなしで起動結果を取得できるよう設計されています。

  • 非同期エントリ・プロセッサのコールバックのサポートが追加されました。

  • ストリーミング集約のサポートが追加されてメモリー・オーバーヘッドが少なくなり、パフォーマンスが向上しました。

  • Java Genericsの使用のサポートが追加されました。

  • NamedCacheキャッシュによってサポートされるタイプを宣言するために<cache-mapping>要素内に<key-type>および<value-type>要素が追加されました。

  • NamedCache APIにラムダのサポートが追加されました

  • 動的ラムダ実行のサポートが追加されました。

  • Java 8で導入されたデフォルトMapメソッドのサポートがInvocableMapインタフェースに追加されました。

  • リカバリの時間を大幅に短縮するためにパーティション転送またはフェイルオーバー後に非同期で索引データ構造を再構築する機能が追加されました。

  • 非同期アグリゲータの実行のサポートが追加されました。

  • エラスティック・データでフラッシュにオーバーフローせずにピュアRAMジャーナルを使用することのサポートが追加されました。

  • present無効化ストラテジを使用する際のニア・キャッシュのパフォーマンスが向上しました。

  • 配列ベースのフィルタ(AndFilterAnyFilterなど)にフィルタ評価順序を適用する機能が追加されました。

  • CohQLの機能が強化され、CohQL問合せで使用されるカスタムの値エクストラクタ(POFExtractorsなど)を指定できるようになりました。

  • 機能上はclearと同等ですが、エントリレベルのキャッシュ・イベントが発生しないtruncateメソッドがNamedCacheインタフェースに追加されました。この新しいAPIによってサーバー側のメモリー負荷が大幅に軽減され、リスナーでのキャッシュのネットワーク消費が飛躍的に削減されるため、特にニア・キャッシュに有用です。

  • 有効期限のスライドのサポートが追加されました。キャッシュ・エントリの有効期限が読取りアクセス時に延長されます。

  • キャッシュの有効期限に達すると、キャッシュ・エントリがバッキング・マップからプロアクティブに放出され、キャッシュ操作で放出を開始する必要がなくなりました。

  • 名前および識別子の使用時の重複イベント・インターセプタの一貫性のない登録動作が修正されました。

  • ローカル専用(インプロセス)イベントを受信するマップ・リスナーのスロー・メモリー・リークの原因となっている問題が修正されました。

  • NamedCache操作(createwriteおよびdestroy)の繰返しの呼出しによるStorageインスタンスのリークの問題が修正されました。

  • EventDispatcherスレッドの実行待ちのタスクの数(ServiceMBean.EventBacklog)または実行するタスクの合計数(ServiceMBean.EventCount)を確定できない問題が修正されました。

  • NamedCache.lock(key, -1)の呼出しが、ロックが使用可能になるまで待機しない問題が修正されました。

  • 同期されていないスレッドで実行されるaddIndexメソッドでレプリケートされたキャッシュについて誤った結果が返される問題が修正されました。

  • MultiExtractorクラスを索引として使用すると、不正確な索引付けされたデータが発生する可能性がある問題が修正されました。

  • ライブ・イベントのポスト・コミットの実行中のGuardSupport.heartbeatメソッドの起動に関する問題が修正されました。

  • 負荷が高い状態での有効期限または放出の使用でAssertionException例外またはデッドロックが発生する問題が修整されました。

  • ExtensibleConfigurableCacheFactoryの使用時に、キャッシュ構成ファイルに定義されているニア・キャッシュ・イベント・インターセプタが登録されない問題が修正されました。

  • サービスが一時停止されて再開された後の非同期エントリ・プロセッサの遅延の問題が修整されました。

  • ObservableSplittingBackingCacheインスタンスの使用時にConfigurableCacheMapメソッドが誤った値を返す問題が修整されました。

  • CacheStoreBinaryEntryStoreおよびListenerインスタンスでのエントリの更新の見落としの原因となる可能性のあるUpdaterProcessorクラスの問題が修整されました。

  • バッキング・マップ・リスナーがイベントを即座に処理せず、その結果古いバックアップ値が返される問題が修整されました。

  • トランザクションのコミット前イベント(COMMITTING)で変更されていないエントリが表示される問題が修整されました。

  • バック・キャッシュが壊れている場合、ニア・キャッシュのフロント・マップがクリアされない問題が修整されました。

  • すべてのストレージ・ノードが再起動された後、ニア・キャッシュのフロント・キャッシュが更新されない問題が修整されました。

1.3.2 管理およびモニタリングの機能強化と修正

  • MBeanServerをリモートで呼び出す機能が追加されました。

  • クラスタ内のノードの1つを管理ノードとして選択する動的管理モードが新たに追加されました。

  • StorageManagerMBeanIndexTotalUnitsと呼ばれる属性が追加されました。

  • 索引サイズの精度が向上しました。

  • ReporterMBean操作の使用時にレポート・ファイルおよびレポート・グループXMLを文字列として渡す機能が追加されました。

  • extendedmbeannameシステム・プロパティがtrueに設定されている場合にClusterMBean.logClusterStateメソッドの呼出しでスレッド・ダンプが生成されない問題が修整されました。

  • 操作オーバーライド構成ファイルの<default-domain-name>要素に設定された値が無視される不具合が修正されました。

1.3.3 TCMP/クラスタの機能強化と修正

  • ウェル・ノウン・アドレス(WKA)リストが使用可能な場合、デフォルト・ユニキャスト・リスナー・アドレスがWKAリストから導出されます(WKAアドレスと同じサブネットのローカルIPが選択されます)。

  • DNSがIPのリストを返すよう構成された単一ホスト名を使用してWKAリストを表すことができます。

  • Coherenceは、ポート7574をマルチキャスト通信およびネーム・サービスのデフォルト・クラスタ・ポートとして使用します。ユニキャスト・ポートは自動的に選択されます。

  • 複数のクラスタでクラスタ・ポートとマルチキャストまたはWKAアドレスを共有できるようになりました。ほとんどの場合、クラスタ・ポートまたはマルチキャスト・アドレスを変更する理由はありません。

1.3.4 セキュリティの機能強化と修正

  • キャッシュ・データへのアクセスを認可する機能が追加されました

  • クラスタ化されたデータへのユーザー・アクセスを記録する監査ログを取得する機能が追加されました。

  • Java Security Managerを使用してCoherence APIの様々な場所を保護する追加JAAS権限が追加されました。

  • 潜在的に弱い暗号や特定のプロトコル・バージョンの使用を制御するようSSLソケット・プロバイダを構成する機能が追加されました。

1.3.5 Coherence*Extendフレームワークの機能強化と修正

  • プロキシ・サービスはネーム・サービスと同じアドレスにバインドされるようになりました。

  • Coherence*Extendクライアントは接続限度にあるプロキシ・サーバーによってリダイレクト可能です。

  • NameServiceインタフェースにガーディアンのサポートが追加され、アクセプタが自動的に再起動されるようになりました。

  • サーバー送信イベントのサポートがCoherence RESTに追加されました。

  • <key-class>および<value-class>要素はREST構成ファイルの<resource>要素内またはキャッシュ構成ファイルの<cache-mapping>要素内に定義できます。

  • Coherence*ExtendクライアントでのJCacheの使用のサポートが追加されました。

  • Jetty HTTPサーバーのサポートがCoherence RESTに追加されました。

  • Oracle Traffic Director (OTD)をCoherence*Extend接続のロード・バランスに使用できます。

  • GenericPrincipalから派生したSimplePrincipalが追加されました。SimplePrincipalは、Identity.Nameプロパティを使用してオブジェクトの等価性を判断します。

  • プロキシ・サーバーのTcpProcessorスレッドがCPUビジー・ループで止まってしまう原因となっていた問題が修正されました。

  • ConnectionManager MBeanがネーム・サービスから削除されました。

  • UUIDの同時アクセスの問題を修正しました。

  • <connect-timeout>要素が<tcp-initiator>要素から削除されました。かわりに<initiator-config>要素に定義されています。

  • 拡張クライアントがレプリケート・キャッシュから削除イベントを受信しない問題が修正されました。

  • 同じキーをターゲットとするキーベースのリクエストに対するプロキシ・サービスでの競合が削減されました。

1.3.6 Coherence*Webの機能強化と修正

  • セッションの削除時にエントリ・プロセッサを使用してパフォーマンスを向上させる新規HTTPセッション取得メカニズムが追加されました。

  • HTTPセッション・キャッシュをフェデレーテッド・クラスタ間でレプリケートする機能が追加されました。

  • HTTPセッション属性がjava.io.Serializableの実装に必須である問題が修正されました。

1.3.7 シリアライズ・フレームワークの機能強化と修正

  • Java 8 DateおよびTime APIのサポートがPOFに追加されました。

  • オプション・タイプのサポートがPofReaderおよびPofWriterインタフェースに追加されました。

  • 空白を含むディレクトリをクラス・ファイルのルート・ディレクトリにできないPOF構成ジェネレータの問題が修正されました。

  • ゼロ以外の秒未満を含む負数の日付のPOFシリアライズの問題が修正されました。

  • トランザクションPOF IDとの競合を避けるためにCoherence JCache POF IDが以前のリリースの610-699から700-799に移動されました。

1.3.8 構成の機能強化と修正

  • Coherenceシステム・プロパティ名にtangosol接頭辞は必要なくなりました。

  • <port-auto-adjust>要素が変更され、ブール値またはポート範囲の上限がサポートされるようになりました。

  • 指定されたSSLプロトコルの有効化または無効化のサポートが追加されました。

  • 構成ファイルの要素の値にシステム・プロパティを使用する機能が追加されました。構文は次のとおりです。

    ${system.property default_value}
    
  • バッキング・マップのpartitioned設定の問題が修正されました。明示的にfalseに設定されると、インメモリー・バックアップ・パーティション化設定もfalseに設定されていました。

  • ファイル名またはパスに#文字を含むリソースのロードが失敗する問題が修正されました。

1.3.9 管理対象Coherenceサーバーの機能強化と修正

  • クラスタ内のノードの1つを管理ノードとして選択する動的管理モードが新たに追加されました。これは、管理対象Coherenceサーバーのデフォルト管理モードです。

  • GARファイルで共有ライブラリを参照できます。

  • GARファイルを複数のドメイン・パーティションにまたがってデプロイし、すべてのテナントで使用できます。分離はドメイン・パーティション・レベルで提供され、アプリケーションに対して透過的です。

  • 各ドメイン・パーティションのキャッシュ・プロパティをオーバーライドする機能が追加されました。

  • クラスタ内のすべてのドメイン・パーティションでキャッシュを共有する機能が追加されました。

  • JCacheを管理対象Coherenceサーバーとの組合せで使用する機能が追加されました。

  • Coherence RESTライブラリ(coherence-rest.jar)はWebLogic Serverクラスパスにデフォルトで含まれ、アプリケーションの一部としてパッケージ化してデプロイする必要はありません。

  • 内部セッション属性名がInternalWLSAttribute接頭辞を削除せずに返される問題が修正されました。

  • MBeanServerFinderインタフェースに、MBeanサーバーのJMXServiceURL値を返す新しいメソッドがあります。

  • デーモン・スレッドが指定したサービス・クラスローダーを使用しない問題を修正しました。

1.3.10 その他の機能強化と修正

  • log4j 2のサポートが追加されました。

  • 空白およびカッコを含むJAVA_HOMEパスの処理に失敗するWindowsコマンド・スクリプトの問題が修正されました。

1.4 Oracle Coherence for .NET 12c (12.2.1)

Oracle Coherence for .NETコンポーネントに新機能、機能向上およびbug修正が追加されました。

1.4.1 Coherence*Extendフレームワークの機能強化と修正

  • .NETクライアントはアプリケーション構成ファイルではなくキャッシュ構成ファイル内のPOF構成ファイルを構成できるようになりました。カスタム・シリアライザはキャッシュ構成ファイルの<serializer>要素の<init-params>を初期化するコンストラクタを実装しなければならなくなったことに注意してください。

  • デフォルトの接続タイムアウト値は、プラットフォーム間で変わりません。

  • GenericPrincipalから派生したSimplePrincipalを追加しました。SimplePrincipalは、Identity.Nameプロパティを使用してオブジェクトの等価性を判断します。

  • <connect-timeout>要素が<tcp-initiator>要素から削除されました。かわりに<initiator-config>要素に定義されています。

  • クライアントの読取りおよび書込みロックの取得の問題が修正されました。

  • SynchronizedDictionary.AcquireWriteLockメソッドでスレッド割込みが秘匿される問題が修正されました。

  • UUIDの同時アクセスの問題を修正しました。

1.4.2 シリアライズ・フレームワークの機能強化と修正

  • オプション・タイプのサポートがPofReaderおよびPofWriterインタフェースに追加されました。

  • ValueChangeEventFilterクラスの問題が修正され、フィルタによって使用される値が正しく抽出されるようになりました。

1.4.3 その他の機能強化と修正

  • キーベースのエクストラクタを使用するSimpleMapIndexインスタンスが非常に遅い問題が修正されました。

  • すべてのストレージ・ノードが再起動された後、ニア・キャッシュのフロント・キャッシュが更新されない問題が修整されました。

  • キャッシュの有効期限に達すると、キャッシュ・エントリがバッキング・マップからプロアクティブに放出され、キャッシュ操作で放出を開始する必要がなくなりました。

  • Coherenceシステム・プロパティ名にtangosol接頭辞は必要なくなりました。

  • 構成ファイルの要素の値にシステム・プロパティを使用する機能が追加されました。構文は次のとおりです。

    ${system.property default_value}
    

1.5 Oracle Coherence for C++ 12c (12.2.1)

Oracle Coherence for C++コンポーネントに新機能、機能向上およびbug修正が追加されました。

1.5.1 Coherence*Extendフレームワークの機能強化と修正

  • すべてのSolarisディストリビューションでのSTLportのサポートが追加されました。

  • C++11のサポートが追加されました。

  • Windows 64ビットのBackTraceのサポートが追加されました。

  • Thread::isAliveメソッドが追加されました。

  • Java 1.8 JDKの追加に従って新規メソッドがcoherence::util::Mapインタフェースに追加されました。これらのメソッドはデフォルトを実装しますが、オーバーライドできます。詳細は、APIのドキュメントでcoherence::util::Mapを参照してください。

  • スレッド・ローカル・メモリー・アロケータのヒット率およびミス率に関するロギング詳細を有効にするプロパティtangosol.coherence.heap.loggingが追加されました。

  • InKeySetFilter::ensureConvertedm_vSetKeysが変更可能である必要があるため、FinalView InKeySetFilter.f_vSetKeysMemberView m_vSetKeysに変更されました。

  • <connect-timeout>要素が<tcp-initiator>要素から削除されました。かわりに<initiator-config>要素に定義されています。

  • Object::toStreamメソッドが非推奨になり、Object::toStringが推奨されるようになりました。

  • 接続タイムアウトのデフォルト値は、プラットフォーム間で変わらなくなりました。

  • デバッグ・スタック・トレースの取得の問題が修正されました。

  • TreeMap::putが古い値ではなく新しい値を返す問題が修正されました。

  • -O3最適化オプションの使用によるコンパイルでの厳密なエイリアシングの警告の問題が解決されました。

  • メモリー・アロケータが、常にヒープ・パディング診断を有効にして動作する問題が修整されました。

  • サービスの停止中にCoherenceサービスの依存するスレッドが停止に失敗することがある問題を修正しました。

  • シリアライズ・バッファ割当てのパフォーマンスの問題が修正されました。

  • UUIDの同時アクセスの問題を修正しました。

  • String::substringが、サブストリング検索を未完了のまま終了する問題をい修正しました。

1.5.2 シリアライズ・フレームワークの機能強化と修正

  • ValueChangeEventFilterクラスの問題が修正され、フィルタによって使用される値が正しく抽出されるようになりました。

1.5.3 その他の機能強化と修正

  • 管理対象オブジェクトのstd::wostreamへの出力のサポートが追加されました。

  • キーベースのエクストラクタを使用するSimpleMapIndexインスタンスが非常に遅い問題が修正されました。

  • すべてのストレージ・ノードが再起動された後、ニア・キャッシュのフロント・キャッシュが更新されない問題が修整されました。

  • キャッシュの有効期限に達すると、キャッシュ・エントリがバッキング・マップからプロアクティブに放出され、キャッシュ操作で放出を開始する必要がなくなりました。

  • Coherenceシステム・プロパティ名にtangosol接頭辞は必要なくなりました。

  • 構成ファイルの要素の値にシステム・プロパティを使用する機能が追加されました。構文は次のとおりです。

    ${system.property default_value}
    

1.6 既知の問題とその回避策

この項では、リリース時点で既知の問題について説明します。

1.6.1 アクティブな永続化を使用する場合のパーティション数の変更

アクティブな永続化を使用する場合、パーティション数は変更できません。サービスのパーティション数を変更した場合、サービスの再起動時にすべてのアクティブなデータが永続ごみ箱に移動され、元のパーティション数に戻した後でリカバリする必要があります。永続化されたデータは、同じパーティション数で実行されているサービスにのみリカバリできます。

アクティブな永続化が使用される場合にパーティション数が変更されないようにします。パーティション数が変更された場合、サービスの再起動時に次のようなメッセージが表示されます。

<Warning> (thread=DistributedCache:DistributedCachePersistence, member=1):
Failed to recover partition 0 from SafeBerkeleyDBStore(...); partition-count
mismatch 501(persisted) != 277(service); reinstate persistent store from
trash once validation errors have been resolved

メッセージは、パーティション数の変更はサポートされず、現在アクティブなデータはごみ箱ディレクトリにコピーされたことを示しています。データをリカバリするには、次のようにします。

  1. クラスタ全体を停止します。

  2. クラスタの現在のアクティブなディレクトリ・コンテンツおよび各クラスタ・メンバーで影響を受けるサービスを削除します。

  3. 各サービスのごみ箱ディレクトリのコンテンツをアクティブなディレクトリに(再帰的に)コピーします。

  4. パーティション数を元の値に戻します。

  5. クラスタを再起動します。

1.6.2 スナップショット・リカバリ時のフェデレーテッド・キャッシュ内のデータの不整合

フェデレーテッド・キャッシュとキャッシュ永続化を同時に使用すると、データの整合性が取れなくなるという既知の問題があります。現在、リカバリされたサービスのスナップショットはフェデレーテッド・クラスタに伝播されません。元々のクラスタ上のキャッシュされたデータはリカバリされますが、宛先クラスタ上のキャッシュされたデータにはリカバリの前にあった、キャッシュされたデータが含まれたままになることがあります。この事例については、次のパッチ・リリースでサポートされる予定です。

1.6.3 WebLogic Server上のCoherence RESTでのClassNotFoundException

Coherence RESTアプリケーションがWebLogic Severにデプロイされ、coherence-rest.jarがサーバー・クラスパスにある場合、ユーザー・タイプのクラスが実行時に見つからないという既知の問題があります。

この問題の回避方法:

  1. COHERENCE_HOME/lib/coherence-rest.jarライブラリの名前をcoherence-ext-rest.jarに変更します。

  2. アプリケーションがコンパイルされるようCOHERENCE_HOME/lib/coherence-ext-rest.jarライブラリをアプリケーション・クラスパスに含めます。

  3. coherence-ext-rest.jarライブラリをCoherence RESTアプリケーションWARモジュールにパッケージ化します。

  4. Coherence RESTアプリケーションをデプロイします。

1.6.4 ジェネリクスの影響

  • ランタイム・タイプ・チェックはフェデレーション内のクラスタ間で実行されないため、フェデレーションをまたがるフェデレーテッド・キャッシュは必ず同じタイプを使用するように構成する必要があります。

  • ランタイム・タイプ・チェックは実行されないため、リカバリ可能キャッシュは再起動時に同じタイプを使用するように必ず構成する必要があります。

1.6.5 JVisualVMプラグインのサポート

Coherence JvisualVMプラグインは、Coherence 3.7.1.X以上でサポートされます。プラグインを使用した古いクラスタへの接続はサポートされません。

1.7 非推奨の機能

この項では、12c (12.2.1)リリースで非推奨になった機能について説明します。

1.7.1 BACKUP CACHEおよびRESTORE CACHE

CohQLのBACKUP CACHEおよびRESTORE CACHEコマンドは非推奨です。新しいスナップショット・コマンドのセットがあり、新しい永続化機能に使用できます。詳細は、『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のキャッシュ・データのディスクへの永続化に関する項を参照してください。

1.7.2 管理対象CoherenceサーバーのMBean属性

次のMBean属性は、管理対象Coherenceサーバーでは非推奨です。

  • CoherenceClusterParamsBean.UnicastListenPort

  • CoherenceClusterParamsBean.UnicastPortAutoAdjust

  • CoherenceClusterParamsBean.MulticastListenPort

  • CoherenceClusterWellKnownAddressBean.ListenPort

次の非推奨のMBean属性は削除されています。

  • CoherenceClusterParamsBean.UnicastListenAddress

1.7.3 Coherence*Webコンテナのサポート

Coherence*Webでは、Apache Tomcat 5.5.n、Apache Tomcat 6.0.n、Caucho Resin 3.1.n、IBM WebSphere 5.n、IBM WebSphere 6.n、IBM WebSphere 7.n、Sun GlassFish 2.n、Sun Application Server 8.n、Oracle OC4J 10.1.3.n、Oracle OC4J 10.1.2.n、Oracle GlassFish 3.n、Oracle GlassFish 4.n、Jetty 6.1.n、Jetty 5.1.n、JBoss Application ServerといったWebコンテナはサポートされなくなりました。Coherence HTTPセッション管理を必要とするアプリケーションは、サポートされるWebコンテナのバージョンを使用するよう移行する必要があります。詳細は、『Oracle Fusion Middleware Oracle Coherence*WebでのHTTPセッション・マネージメントの管理』を参照してください。

1.7.4 ActiveCache (active-cache.jar)

ActiveCache (active-cache.jar)は非推奨になりました。ActiveCacheは、以前のバージョンのWebLogic Server上で実行されるように開発されたアプリケーションでは引き続き使用できます。

ActiveCache機能は、管理対象Coherenceサーバーに置き換えられました。管理対象Coherenceサーバーの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server Oracle Coherenceアプリケーションの開発』を参照してください。

1.7.5 スレッド数

<thread-count>要素は非推奨です。かわりに、<thread-count-min>および<thread-count-max>要素を使用します。

1.7.6 WKAリストでのポートの指定

WKAリストにポートを指定する機能は、リリース12.2.1で非推奨になっています。この機能のサポートは今後のリリースでなくなります。

1.7.7 システム・プロパティでのtangosolの指定

Coherenceシステム・プロパティ名にtangosol接頭辞は必要なくなりました。たとえば、システム・プロパティtangosol.coherence.distributed.localstoragecoherence.distributed.localstorageと記述するようになりました。tangosol接頭辞を含むシステム・プロパティではcoherence接頭辞が使用されるようになりました。たとえば、システム・プロパティtangosol.pof.enabledcoherence.pof.enabledと記述するようになりました。この変更は、UNIXベースの環境にも適用されます。たとえば、TangosolCoherenceCacheConfigCoherenceCacheConfigと記述します。

tangosol接頭辞を含むシステム・プロパティは引き続きサポートされますが、今後のリリースでサポートされなくなる可能性があります。

1.7.8 TopLinkの実装

TopLinkCacheLoaderおよびTopLinkCacheStoreの実装は、リリース12.2.1で非推奨になりました。

1.7.9 非推奨になったObject::toStream

Object::toStreamメソッドは非推奨になりました。アプリケーションではかわりにObject::toStringメソッドを使用します。

1.8 サポートが終了した機能

この項では、12c (12.2.1)リリースで削除された機能について説明します。

1.8.1 暗号化ネットワーク・フィルタ

暗号化ネットワーク・フィルタはCoherence 3.7で非推奨になりましたが、12c (12.2.1)リリースで削除され、サポートされなくなりました。かわりにTCMPインタークラスタおよび*Extend TCP接続はSSLを使用して保護される必要があります。次のAPIが削除されました。

  • com.tangosol.net.security.AbstractEncryptionFilter.java

  • com.tangosol.net.security.AsymmetricEncryptionFilter.java

  • com.tangosol.net.security.BlockCipherInputStream.java

  • com.tangosol.net.security.BlockCipherOutputStream.java

  • com.tangosol.net.security.ClusterEncryptionFilter.java

  • com.tangosol.net.security.PasswordBasedEncryptionFilter.java

  • com.tangosol.net.security.SymmetricEncryptionFilter.java