この章では、Oracle Coherence製品で12c (12.1.3)に導入された変更と機能強化について説明します。このドキュメントの内容は、その発行時点において正確です。オラクル社では、ソフトウェアのリリース後、リリース・ノートを定期的に更新しています。
My Oracle Supportにアクセスして、最新のソフトウェア・パッチをダウンロードします。
パッチで提供されるソフトウェア修正について最新情報を入手する方法は、パッチ配布のREADME
ファイルを参照してください。
My Oracle Supportにログインします。
「パッチと更新版」タブをクリックします。
「パッチ検索」タブの下で、「製品またはファミリ(拡張検索)」を選択し、「ファミリのすべての製品を含む」チェック・ボックスを選択します。
製品名をOracle Coherenceと入力して、プラットフォームとリリースを選択し、「検索」をクリックします。
Oracle Coherenceで現在使用できるパッチのリストが表示されます。
Oracle Coherence 12c (12.1.3)は、業界をリードする分散型インメモリー・データ・グリッド製品の最新版です。Coherence 12c (12.1.3)には、拡張性の高いソリューションにおける複雑さの削減、統合の簡易化、および開発期間の短縮に役立つ、数多くの新機能が搭載されています。
信頼できるトランスポートtmb
およびsdmb
用のSSLサポートを追加しました。この機能は、オペレーション・オーバーライド・ファイルまたはシステム・プロパティを通じて有効にできます。tmb
およびsdmb
トランスポートでSSLを使用するには、SSLソケット・プロバイダが必要です。『Oracle Fusion Middleware Oracle Coherenceの管理』の信頼できるトランスポート・プロトコルの変更に関する項を参照してください。
Infinibandメッセージ・バス(IMB)のサポートを提供するライブラリが更新されました。IMBは、Oracle Exalogicシステムでのみ使用できます。IMBは、TCMPがSSLで構成されていなければ、自動的に使用されます。IMBは、Exalogicでのデフォルトの信頼できるトランスポート・メカニズムです。『Oracle Fusion Middleware Oracle Coherenceの管理』の信頼できるトランスポート・プロトコルの変更に関する項を参照してください。
JMXサービスBeanに、サービスのパーティション分散状態を表示する機能を追加しました。『Oracle Fusion Middleware Oracle Coherenceのマネージメント』のServiceMBeanに関する項を参照してください。
TCP Extendクライアントをあるクラスタから別のクラスタへリダイレクトするためにカスタムProxyLoadBalancer
を許可するRemoteMember
クラスを作成しました。Oracle Fusion Middleware Oracle Coherence Java APIリファレンスのcom.tangosol.net.proxy.RemoteMemberクラスを参照してください。
すべてのクラスタ・メンバー上で動作するようにNameService
を拡張しました。NameService
は、クラスタに保存されているProxyService
状態情報を使用して他のメンバー用のProxyService
アドレスを検索できるようになりました。このため、検索時にどのポートに接続するかという点に関して、クライアントはクラスタの構成されたユニキャスト・アドレスのみわかっている必要があります。『Oracle Fusion Middleware Oracle Coherenceリモート・クライアントの開発』のネーム・サービス・アクセプタを使用したプロキシへの接続に関する項を参照してください。
memcached
プロトコルのサポートを追加しました。Coherenceをmemcachedサーバーの代替として使用できます。memcachedバイナリ・プロトコルをサポートするすべてのmemcachedクライアントAPIは、Coherence分散キャッシングを使用できます。memcachedのサポートは、プロキシ・サーバー上で実行されるアクセプタと同様に、拡張として実装されるmemcachedアダプタを通して提供されます。memcachedクライアント接続を受け入れるCoherenceの構成の詳細は、『Oracle Fusion Middleware Oracle Coherenceの統合』のOracle Coherenceでのmemcachedクライアントの使用に関する項を参照してください。
「JSR 107: JCACHE - Java Temporary Caching API」(JCache)用のプロバイダ実装が追加されました。JCacheは、Javaプラットフォームの標準キャッシュAPIです。既存のCoherenceテクノロジを使用するCoherence JCacheプロバイダは、Coherence NamedCache APIのラッパーと考えることも可能です。これによって、CoherenceはJCacheインタフェースを使用して多くの優れたテクノロジの再利用および公開ができるようになります。『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のCoherence JCache実装の使用に関する項を参照してください。
エラスティック・データ機能のジャーナル・サイズに対して「ソフト制限」(デフォルトは11GB)を設定する機能を追加しました。このサイズによって、ジャーナルから失効した値の削除を開始するタイミングが決定されます。これは、ジャーナル・サイズの強い制限ではなく、依然として最大ファイル数(512)まで大きくなることができます。『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のフラッシュ・ジャーナル・リソース・マネージャの構成に関する項を参照してください。
現在のリリースにCoherence Java VisualVMプラグインを追加しました。Coherence Java VisualVMプラグインを使用すると、開発者は、JMXを使用してCoherenceクラスタに接続する際に、集計された統計およびクラスタ情報に関するダッシュボードを表示できます。Java VisualVMはJDKとともに組み込まれた管理ユーティリティで、MBeanの表示およびMBeanとのデータのやりとりを行う機能を提供します。『Oracle Fusion Middleware Oracle Coherenceのマネージメント』のJava VisualVMを使用するローカルでのMBeanへのアクセスに関する項を参照してください。
管理対象Coherenceサーバーを使用する場合、Coherenceクラスタ・メンバーを管理ノードとして構成できるようになりました。管理ノードは、すべての他のクラスタ・メンバーから管理情報を集計します。その後、この情報はWebLogicドメイン管理サーバーによって統合され、ドメイン・ランタイムMBeanサーバーを通じて使用できるようになります。『Oracle Fusion Middleware Oracle WebLogic Serverクラスタの管理』のCoherenceクラスタ・メンバーの管理ノードとしての構成に関する項を参照してください。
デシリアライズを最適化するカスタム索引の実装が現在のリリースに追加されました。最適化によって、エントリ・プロセッサおよびアグリゲータでの反復値のデシリアライズが回避されます。Oracle Fusion Middleware Oracle Coherence Java APIリファレンスのcom.tangosol.util.extractor.DeserializationAcceleratorクラスを参照してください。
非ブロック化エントリ・プロセッサを非同期に実行する機能が現在のリリースに追加されました。これによって、ユーザーは大量のワーカー・スレッドを作成せずにグリッド上のプロセッサ実行の並列度を劇的に増加させることができます。Oracle Fusion Middleware Oracle Coherence Java APIリファレンスのcom.tangosol.util.processor.AsynchronousProcessorクラスを参照してください。
パーティション転送またはフェイルオーバー後に、非同期に索引データ構造を再構築する機能が現在のリリースに追加されました。これにより、リカバリ時間を大幅に短縮できます。注意: 索引に依存するリクエストは、索引が再構築されるまで実行されません。
Extendクライアントはクラスタ・プロキシとの前方互換性および後方互換性を両方ともサポートしています。つまり、Extendクライアントは、(同じメジャー・リリース内の)より小さいバージョン番号またはより大きいバージョン番号のクラスタ・プロキシと接続可能です。たとえば、12.1.3のExtendクライアントは、12.1.2.0.1のプロキシに接続できます。Extendクライアントの後方互換性は、バージョン12.1.2.0.1より前のプロキシ(12.1.2.0.0およびバージョン3.7.1以前のプロキシ)ではサポートされていません。
Oracle Coherence 12.1.3は、初めて一般的に使用されるようになったときに、Java SE 7で動作保証されました。また、Oracle Coherence 12.1.3は、次のようにJava SE 8でも動作保証されています。
Coherence 12.1.3はJava SE 8 Update 20 (u20)で動作保証されており、Java SE 8の今後の更新でもサポートされる予定です。
Coherence 12.1.3は、64ビットJVMを使用しているWindows、LinuxおよびSolaris上のJava SE 8u20で動作保証されています。
Coherenceに関連または階層化されたその他のOracle Fusion Middleware 11gおよび12c製品は、特に記載がないかぎり、Java SE 8ではサポートされていません。
Java SE 8で使用可能な機能の詳細は、Java SE 8のドキュメントを参照してください。Java SE 8でのガベージ・コレクションのチューニング・オプションに関する固有情報は、HotSpot仮想マシンのガベージ・コレクション・チューニング・ガイドを参照してください。
Java SE 8でCoherence 12.1.3とCoherence 12.1.3ベース・アプリケーションを実行する際は、次の制限およびアドバイスに注意してください。
Coherence 12.1.3は、Java SE 8の新機能(ストリーム、ラムダ式、デフォルト・メソッドなど)を使用したアプリケーション開発をサポートしていません。これらの機能を使用しているアプリケーションはCoherenceで正常にコンパイルされますが、Coherence 12.1.3でこれらの機能を使用すると、予期しない結果が発生する場合があります。たとえば、Coherenceのデータ局所性による最適化が使用できなくなり、パフォーマンスと効率性が大幅に低下したり、前にアトミックであった操作が分解されて、並行処理の安全性と正確性に悪影響を及ぼしたりする可能性があるなどです。
使用中のサード・パーティ・ベンダー製ソフトウェアのJava SE 8互換性を、お客様が確認する必要があります。Java SE 8のクラスを適切に処理する最新バージョンのソフトウェアへのアップグレードが必要になる場合もあれば、ソフトウェアにまだ互換性がない場合もあります。たとえば、オープン・ソース・ツール「jarjar」の最新バージョンは、まだJava SE 8では正常に機能しません。
Oracle Coherence for Javaコンポーネントに新機能、機能向上およびbug修正が追加されました。
サブポート値を表示するようProxy HostIP MBean属性を強化しました。
不必要なJMX統計が原因で大きなメモリー・オーバーヘッドを生成するFilter
実行の問題を修正しました。
ServiceMBean
に、メンバーが特定のサービスに参加した時刻を示すプロパティJoinTime
が含まれるようになりました。
Hibernate統合機能がCoherenceコミュニティ・プロジェクトhttp://java.net/projects/cohhib
に移動しました。
クライアントが解放済のキャッシュ参照を使用できた問題を修正しました。
MultiExtractor
がValueExtractor
用の索引を使用していなかった問題を修正しました。
反復値のデシリアライズを回避するカスタム索引の実装を追加しました。使用方法の詳細は、Javadocのcom.tangosol.util.extractor.DeserializationAccelerator
クラスを参照してください。
マップ・リスナーとともにLocalCache
を使用する際のデッドロックの問題を修正しました。
ReadWriteBackingMap
を最適化し、CacheStores
上でputAll
操作に応答してstoreAll
メソッドを呼び出すようにしました。これにより、CacheStores
内のアプリケーション・コードはバルク・ストレージ用に最適化されるようになります。
孤立したパーティションをリストアする際に、Guardianタイムアウトが引き起こされる可能性がある問題を修正しました。
3番目のComparator
を無視しないよう、ChainedComparator
の3つのパラメータ・コンストラクタを更新しました。
クラスタ全体でJMXが無効化されている孤立したパーティションでイベントが生成された場合に、NullPointerException
が引き起こされる問題を修正しました。
保護されているスレッドのタイムアウトと保護ざれなくなったスレットの間の潜在的な競合状態を修正しました。
サービスを安定化するためにNPEおよびUOEを防ぐことによって、キャッシュの誤った構成の処理を強化しました。
キャッシュ構成で構成された単位換算カリキュレータを適用するようにReadWriteBackingMap
を修正しました。
スキーマが定義されていないキャッシュ名に対して呼び出した場合に、SizeRequest
が無限に発生しないようにコンソールのSize
コマンドの問題を修正しました。
アグリゲータおよびエントリ・プロセッサが対応するキーをロックせずにバッキング・マップ・エントリへの読取り専用アクセスを取得できるようにするgetReadOnlyEntry()
メソッドが、BackingMapContext
インタフェースに導入されました。
ReadWriteBackingMap
の読取り/書込みスレッドの名前の一部に、キャッシュ名が含まれるようになりました。
実行計画および問合せトレース・レコードが読みやすくなりました。
cache-configにスキーム定義のないトランザクション・キャッシュを作成する場合に、エラーがスローされない問題を修正しました。
バッファからパケットを抽出する際にPacketReceiver
がスピンする可能性がある問題を修正しました。
ランダムに切り捨てられる、それ以外の場合は有効なパケットに対してPacketReciever
を強化しました。
パーティションが長時間孤立していたためにパーティション・キャッシュが停止しなくなる可能性があった問題を修正しました。
少なくとも1つのホスト名が指定されているWKAを含むクラスタを起動した場合の、互換性のないWKAアドレスに関する不正確な警告を削除しました。
フェイルオーバーの取扱いが改善されている新しい軽量IMB実装を作成しました。
ExtendクライアントがReplicatedCache
上でConditionalRemove
を呼び出した際に、ConcurrentModificationException
がスローされる可能性がある問題を修正しました。
接続がエラーのためにクローズされる際にCoherence*Extend接続を非同期にクローズするため、プロキシ・サービス・ワーカー・スレッドを変更しました。
Extendクライアントがレプリケート・キャッシュから削除イベントを受信しない問題を修正しました。
ensureCache
が応答しない場合にクライアント・スレッドがスタックする可能性があるensureCache
の問題を修正しました。
Coherence*Extend経由で接続を試みた許可されていないホストのトラッキングを追加してD6
メッセージのロギングを含めるとともに、ConnectionManagerMBean
における新規のJMX属性UnauthorizedConnectionAttempts
に試行数の記録を追加しました。
NameService
用の新しいConnectionManager
MBeanを追加しました。
<listener>
要素を使用してリモート・キャッシュにMapTriggerListeners
を定義する機能を追加しました。
NamedCache
イテレータがStandard editionクラスタからExtendクライアントに重複する結果を返す問題を修正しました。
キャッシュの非アクティブ化コールの処理を強化しました。
プロキシ・サービスのロード・バランシングでのカスタムのComparator
の問題を修正しました。
InFilter
シリアライズの問題を修正しました。
プロキシ・サーバー・ノードのみでなく、すべてのクラスタ・ノード上で実行されるようにNameService
を変更しました。
疑いのあるプロトコルによってCoherence*Extend接続がクローズされたことを示す追加のログ・メッセージを追加しました。
特定のロード・シナリオにおいて、動的プロキシ・サービス・スレッド・プール・サイズが過度に増加する問題を修正しました。
キャッシュの確認または破棄(あるいはその両方)を行う場合に、カスタムのプロキシがコールされていない問題を解決しました。
TCP Extendクライアントをあるクラスタから別のクラスタへリダイレクトするためにカスタムProxyLoadBalancer
を許可するRemoteMember
クラスを作成しました。
Acceptor
を自動的に再起動するために、NameService
にガーディアンのサポートを追加しました。
memcached
プロトコルのサポートを追加しました。
WebLogic Portalコンポーネント用のCoherence*Webで、セッション無効化中のNotSerializableException
を修正しました。
セッションの無効化中、ロギング・レベルがFINEST
に設定されている場合のみConcurrentModificationException
がログに記録されるようになりました。
Tomcat 7.0上のCoherence*Webがログ・ファイルに正しくないTomcatのバージョン情報を記録する問題を修正しました。
ローカルで保存したセッション属性が誤ってクリーン・アップされる問題を修正しました。
セッション無効化が異なるノードから開始された場合に、ローカル属性がクリーン・アップされるようSession Reaperを修正しました。
POFの日時のデシリアライズ性能を改善しました。
プリミティブ型は明示的に指定する必要があることを示すために、PofValue.getValue()
のAPIのドキュメントを更新しました。
POFシリアライザが整数値-31を適切に読み取れない問題を修正しました。
ArrayList
から導出されたユーザー・タイプに対し正しいタイプIDを返すようにPofHelper.getPofTypeId()
を修正しました。
リクエストされたプロパティ索引がすでに使用されている場合のPOF注釈ログ・メッセージを改善しました。
Coherenceキャッシュ・プロバイダをWebLogic Portalとともに使用する場合、キャッシュ構成はシステム・プロパティを使用して設定される可能性があります。
ファイル名/パスに「#
」文字を含むリソースのロードが失敗する問題を修正しました。
カスタムMBean登録によってMBean名が一意であると想定される問題を修正しました。
12.1.2-0-0では、@Injectable
によるインジェクションが考慮される場合、空のXmlElements
はスキップされました。12.1.3では、新しいConditionalElementProcessor
が実装されていないかぎり、空のXmlElements
はElementProcessor
が登録される際に必ず処理されます。
12.1.3では、@Injectables
へのインジェクション用に名前および型付きの値を見つけようとする際に、システム・プロパティおよびリソース・レジストリ値が考慮されます。
NULLグループ・アドレスが原因でDefaultClusterDependencies.makeClusterName()
がNPEをスローする問題を修正しました。
WebLogic Server管理対象サーバー内で拡張プロキシを実行する際に、WebLogicのサブジェクトではなくクライアントによって提供されたサブジェクトを使用するように、Extendセキュリティを変更しました。この変更によって、クライアントのサブジェクトを取得するためにWebLogic APIを使用する必要がなくなり、かわりに標準のJAAS APIを使用できるようになります。そのため、アプリケーション・コードからすべてのWebLogic Serverへの依存性を削除できます。
Coherenceのログ・レベルが最大でないためjdk/log4j
のログ・レベルが構成できない問題を修正しました。
JCacheは現在、Coherence管理対象サーバーで機能するように設計されていません。
Coherenceに含まれるcmd
スクリプトがスペースおよびカッコを含むJAVA_HOME
パスを扱えない問題を修正しました。
宛先ロガーの範囲内にないログ・メッセージが.エンキューされる問題を修正しました。
実行中のクラスタがない場合にロガー・スレッドを停止するよう、CacheFactory.shutdown()
を修正しました。
シリアライズ不可能な実装を許可するよう、javax.transaction.xa.Xid
のトランザクション・キャッシュ処理を強化しました。
backup-count > 1の場合のバックアップの転送ロジックを最適化しました。
Javaセキュリティ・マネージャのセキュリティ・ポリシーに追加権限を追加しました。
パーティション転送またはフェイルオーバー後に、非同期に索引データ構造を再構築する機能が現在のリリースに追加されました。これにより、リカバリ時間を大幅に短縮できます。注意: 索引に依存するリクエストは、索引が再構築されるまで実行されません。
Oracle Coherence 12.1.2.0.0 RESTfulインタフェースは、Jersey 1.17に依存するようになりました。
信頼できるトランスポートtmb
およびsdmb
用のSSLサポートを追加しました。この機能は、オペレーション・オーバーライド・ファイルまたはシステム・プロパティを通じて有効にできます。
PartitionSetの表示フォーマットを{1, 2, 4, 5, 6, 8}から{1, 2, 4...6, 8}に変更しました。
Oracle Coherence for .NETコンポーネントに新機能、機能向上およびbug修正が追加されました。
ContinuousQueryCache
のエントリ、キーまたは値を反復する際の問題を修正しました。
PofExtractor
を使用するフィルタとともに登録されたキャッシュ・リスナーのイベント配信の問題を修正しました。
GenericPrincipal
から派生したSimplePrincipal
を追加しました。SimplePrincipal
は、Identity.Name
プロパティを使用してオブジェクトの等価性を判断します。
<listener>
要素を使用してリモート・キャッシュにMapTriggerListeners
を定義する機能を追加しました。
.NET 4.5 frameworkにおけるSynchronizedDictionary
の問題を修正しました。
キャッシュの非アクティブ化コールの処理を強化しました。
POFシリアライザがタイプ-29を適切に読み取れない問題を修正しました。
InFilter
シリアライズの問題を修正しました。
SSL対応のCoherence*Extend接続用のSSLクライアント証明書選択を改善しました。
gzip
圧縮フィルタのようなネットワーク・フィルタを使用するための正しいXML構成要素を検索するように、Coherence for .NETライブラリを修正しました。
プリミティブ型は明示的に指定する必要があることを示すために、PofValue.getValue()
のAPIのドキュメントを更新しました。
ArrayList
から導出されたユーザー・タイプに対し正しいタイプIDを返すようにPofHelper.getPofTypeId()
を修正しました。
リクエストされたプロパティ索引がすでに使用されている場合のPOF注釈ログ・メッセージを改善しました。
マップ・リスナーとともにLocalCache
を使用する際のデッドロックの問題を修正しました。
パーティション転送またはフェイルオーバー後に、非同期に索引データ構造を再構築する機能が現在のリリースに追加されました。これにより、リカバリ時間を大幅に短縮できます。注意: 索引に依存するリクエストは、索引が再構築されるまで実行されません。
Oracle Coherence 12.1.2.0.0 RESTfulインタフェースは、Jersey 1.17に依存するようになりました。
信頼できるトランスポートtmb
およびsdmb
用のSSLサポートを追加しました。この機能は、オペレーション・オーバーライド・ファイルまたはシステム・プロパティを通じて有効にできます。
PartitionSetの表示フォーマットを{1, 2, 4, 5, 6, 8}から{1, 2, 4...6, 8}に変更しました。
Oracle Coherence for C++コンポーネントに新機能、機能向上およびbug修正が追加されました。
XorFilter.hpp
用のガード・マクロの入力誤りを修正しました。
Xcode (clang
)がファイル内の未使用関数について警告しないようにTypedMethod.hpp
を更新しました。
古いエスケープ済フラグのある古いオブジェクトからデタッチできるよう、DetachFinalizer::set()
を変更しました。
3つ以上の要素をサポートできるようにLiteSet
を修正しました。
<class-factory-name>
要素でクラス・ファクトリを定義するためのサポートを追加しました。
<init-params>
要素でクラス初期化パラメータを定義するためのサポートを追加しました。
キャッシュの非アクティブ化コールの処理を強化しました。
InFilter
シリアライズの問題を修正しました。
マップ・サイズが1の場合のadapter_map
/boxing_map
イテレータの初期化を修正しました。
NavigableMap
を実装するため、NavigableMap
インタフェースを追加し、TreeMap
を拡張しました。
ユーザーが精度を指定できるように、Float32::parse()
およびFloat64::parse()
にオプションのパラメータnPrecision
を追加しました。Float32::parse(String::View vString, size_t nPrecision) Float64::parse(String::View vString, size_t nPrecision)
C++にAbstractClusterProcessor
を追加しました。
ObservableMap
にadd
/removeMapListener
APIを追加しました。
ファイル名/パスに「#
」文字を含むリソースのロードが失敗する問題を修正しました。
マップ・リスナーとともにLocalCache
を使用する際のデッドロックの問題を修正しました。
SimpleDocument
がクローニング可能になり、CacheFactory::loadXml()
によって返されるXmlElement
上でclone()
の呼出しができるようになりました。
パーティション転送またはフェイルオーバー後に、非同期に索引データ構造を再構築する機能が現在のリリースに追加されました。これにより、リカバリ時間を大幅に短縮できます。注意: 索引に依存するリクエストは、索引が再構築されるまで実行されません。
Oracle Coherence 12.1.2.0.0 RESTfulインタフェースは、Jersey 1.17に依存するようになりました。
信頼できるトランスポートtmb
およびsdmb
用のSSLサポートを追加しました。この機能は、オペレーション・オーバーライド・ファイルまたはシステム・プロパティを通じて有効にできます。
PartitionSetの表示フォーマットを{1, 2, 4, 5, 6, 8}から{1, 2, 4...6, 8}に変更しました。
次の変更および拡張機能は、12c (12.1.3.0.1)リリース用に作成されています。
Coherenceのこのリリースでは、エラスティック・データを表示するグラフ機能を使用するCoherence JVisualVMプラグインにタブが追加されました。
このリリースでは、Coherenceに特定のSSLプロトコルの有効化または無効化のサポートが追加されました。詳細は、『Oracle Coherenceの保護』の暗号化スイートとプロトコル・バージョンの使用の制御に関する項を参照してください。
WebLogic Serverのドメイン・ランタイムMBeanサーバーへの接続時に、JVisualVMプラグインがJMXレポート経由でデータを正しく収集しない問題を修正しました。
JVisualVMプラグインの使用時に、クラスタ名およびバージョンを表示するためのサポートを追加しました。
WebLogicでのCoherence*Web構成で、新しいレポートreports/report-web-weblogic.xml
が使用可能になりました。
JVisualVMプラグインの使用時に、エラスティック・データの情報を表示するためのサポートを追加しました。
ConfigurableCacheMap
メソッドがObservableSplittingBackingCache
を使用して正しい値を返さない問題を修正しました。
クライアントが解放済のキャッシュ参照を使用できた問題を修正しました。
JVisualVMプラグインでサービスの選択時に、グラフィック形式でパーティション情報を表示するためのサポートを追加しました。
CacheFactory.releaseCache()
およびNamedCache.release()
でのメモリー・リークの問題を修正しました。
フェイルオーバー中にoff-heap (NIO)バッキング・マップによりキャッシュ・エントリが失われることがある問題を修正しました。
索引の適用と値の評価のBetweenFilterの効率が向上しました。
Async EntryProcessorsがサービスの中断および再開後に遅延した問題を修正しました。
Windows環境でJVisualVMプラグインのスクロール・ペインの背景が正しい色ではない問題を修正しました。
tmbsプロトコルでサーバーをクラスタに結合できない原因だった問題を修正しました。
セッション属性がjava.io.Serializable
の実装に必須である問題を修正しました。
ゼロ以外の秒未満を含む負数の日付のPOFシリアライズの問題を修正しました。
内部セッション属性名がInternalWLSAttribute
接頭辞を削除せずに返される問題を修正しました。
ExtensibleConfigurableCacheFactory
の使用時に、cache-configで定義されたNearCacheイベント・インターセプタが登録されない問題を修正しました。
CacheStore
、BinaryEntryStore
およびListeners
でのエントリの更新が失われる原因だったUpdaterProcessor
に関する問題を修正しました。
JVisualVMプラグインでメンバー、サービス詳細、およびキャッシュ詳細の選択時に、詳細なJMX情報を表示するためのサポートを追加しました。
キャッシュ構成で<host-filter>
の使用時に、ノードが起動されないことがある問題を修正しました。
フェイル・ファスト・キャッシュ構成処理を削除しました。構成エンティティがサーバーでインスタンス化されるまで、クラス・ロードが遅延します。
データ・セットを大幅に削減する初期フィルタで使用するとパフォーマンスが低下する原因となっていたInFilterに関する問題を修正しました。
UUIDの同時アクセスの問題を修正しました。
<maximum-size>
がflashjournal-manager
に対して有効でなかった問題を修正しました。
ReadWriteBackingMap.putAll
操作で発生するAssertion
エラーの原因となっていた問題を修正しました。
http-acceptor class-name
が構成で指定されなかった場合のプロキシ・サービスの開始に関する問題を修正しました。
高い負荷の下で有効期限またはエビクションを使用して、AssertionException
エラーまたはデッドロックとなったときに発生する問題を修正しました。
Javaセキュリティ・マネージャを使用するアプリケーションに拡張セキュリティ権限が必要な場合に発生する問題を修正しました。
サービス・スレッドによる同時checkGuardables
コールの原因となった、非サービス・スレッドからの誤ったService.heartbeat()
コールを削除しました。
NullPointerException
の原因となっていた、QueryHelper.createFilter
がQueryPlus.main
の起動に先行する問題を修正しました。
JVisualVMプラグインの使用時に、データのより容易な表示を可能にする様々なフィールドのツール・チップを表示するためのサポートを追加しました。
インスタンス・ファクトリ・メソッドは、メソッド・シグネチャ内の必要な正確なClassType
を返す必要がありません。実行時の型の不一致により、ClassCastException
エラーが発生します。
操作構成(またはオーバーライド)ファイルのmanagement-configuration/default-domain-name
に設定された値が無視されるバグを修正しました。
2つの新しいレポート(reports/report-jcache-statistics.xml
およびreports/report-jcache-configuration.xml
)を出力JCache構成およびJCacheの使用時の統計情報に追加しました。
LiveEventのポスト・コミットの実行中のGuardSupport.heartbeat
の起動に関する問題を修正しました。
JVisualVMプラグインの使用時に、JCacheの情報を表示するためのサポートを追加しました。
クラスタ構成の<cipher-suites>
要素によりSAXParseException
が発生した問題を修正しました。
プロキシ・サーバーのTcpProcessor
スレッドがCPUビジー・ループで止まってしまう原因となっていた問題を修正しました。
Coherence JCacheシステム・プロパティtangosol.coherence.jcache.configuration.classname
はpassthrough
別名をサポートするようになりました。
TCPでのTCMPの実行中にIBM J9 JVMでConcurrentModificationException
エラーを発生させる原因となっていた問題に対処しました。
以前の登録を上書きすることによる<serializer>
リソースの複数回の登録に関する問題を修正しました。
MultiExtractor
を索引として使用するときに、不正確な索引付けされたデータが発生する可能性がある問題を修正しました。
Ramジャーナル・エビクション中にNoSuchElementException
エラーを引き起こす可能性のある問題を修正しました。
EventInterceptors
およびメンバー当たり多数の同時リクエストを使用している場合の、起動時に保護エラーが発生する問題を修正しました。
索引の適用と値の評価のBetweenFilterの効率が向上しました。
UUIDの同時アクセスの問題を修正しました。
.NETクライアントはアプリケーション構成ではなくキャッシュ構成内のPOF構成ファイルを構成できるようになりました。カスタム・シリアライザは構成の<init-params>
を初期化するコンストラクタを実装しなければならなくなったことに注意してください。
索引の適用と値の評価のBetweenFilterの効率が向上しました。
サービスの停止中にCoherenceサービスの依存するスレッドが停止に失敗することがある問題を修正しました。
UUIDの同時アクセスの問題を修正しました。
Solaris SPARC 64および32ビットおよびIntel 64ビット・プラットフォーム用のC++ライブラリのSLTPort互換Coherenceが追加されました。
次の変更および拡張機能は、12c (12.1.3.0.2)リリース用に作成されています。
CoherenceBasedCachingProvider.close()
後の不適切なキャッシングを修正しました。クローズした後のシステム・プロパティtangosol.coherence.jcache.configuration.classname
の別な値の設定、およびCaching.getCachingProvider()
を通じた再取得は無視されました。
NamedCacheの作成、書込みおよび破棄に対する呼出しの繰返しがストレージ・インスタンス・リークを起こす問題を修正しました。
非同期スレッドで実行されるaddIndex()
の結果が、レプリケート・キャッシュで不適切である問題を修正しました。
SerializationCacheで低ユニットが無視される問題を修正しました。
NamedCache.lock(key, -1)
が、ロックが使用可能になるまで待たない問題を修正しました。
フェイルオーバー時の非同期索引の再構築におけるパフォーマンス低下を修正しました。
高い解約率のニア・キャッシュでゆっくりとしたメモリー・リークが起きる問題を修正しました。
Coherence JCache POFのIDが、トランザクションPOFのIDと競合しないように、12.1.3.0.1以前の700-799から610-699に移動しました。
バックアップ・マップの「パーティション化」設定の問題を修正しました。明示的にfalse
に設定されると、インメモリー・バックアップ・パーティション化設定もfalse
に設定されていました。
extendedmbeanname
システム・プロパティがtrue
に設定されている場合、ClusterMBean.logClusterState()
がスレッド・ダンプを生成しない問題を修正しました。
JVisualVMプラグインの使用時に、フロント・キャッシュの情報を表示するためのサポートを追加しました。
サービスの再起動中にFlashJournalRMデーモン・スレッドを停止した場合に、例外のnullが表示される問題を修正しました。
Ramジャーナル・エビクション中にNoSuchElementException
を引き起こす可能性のある問題を修正しました。
PacketBundle.write()
によってスローされるIllegalStateException
に、診断情報を追加しました。
プロキシ・サービスが開始されているときの、プロキシ・サービス・ローカル・アドレス・プロバイダ検証チェックのフェイル・ファスト・キャッシュ構成検証チェックを置き換えました。
トランザクション・キャッシュが、フェイルオーバー中に不正なsize()
値を返す問題を修正しました。
表示不可能な文字をWindowsレジストレーション・ファイルoptimize.reg
から削除しました。
デーモン・スレッドが指定したサービス・クラスローダーを使用しない問題を修正しました。
プロキシ・サービス・スレッド件数が不必要に大きくなる問題を修正しました。
PartitionListenerが記憶域有効サーバーでのみインスタンス化される12.1.2の動作を再度導入しました。
Receive()
で例外を処理する間、高いCPU使用率が消費される問題を修正しました。
Coherence for .NETバージョン文字列から「DPR」を削除しました。
COHERENCE_MESSAGING_DEBUG
環境変数をtrue
に設定するか、または<COHERENCE_MESSAGING_DEBUG>true</COHERENCE_MESSAGING_DEBUG>
要素をApp.config
ファイルの<coherence>
セクションに追加することで、メッセージ・ロギングが使用可能になりました。
CacheFactory::shutdown()
が、ロガー・スレッドが閉じるのを待っている間にハングする可能性がある問題を修正しました。
InKeySetFilter::ensureConverted()
はm_vSetKeys
が変更可能であることを必要とするため、FinalView
InKeySetFilter.f_vSetKeys
をMemberView m_vSetKeys
に変更しました。
-O3最適化オプションから厳格な別名使用のコンパイル警告が発生することを解決しました。
メモリー・アロケータが、常にヒープ・パディング診断を有効にして動作する問題を解決しました。
64ビット・クライアントのパフォーマンスに合うように、32ビットC++クライアントのパフォーマンスを向上しました。
次の変更および拡張機能は、12c (12.1.3.0.3)リリース用に作成されています。
ChainedRequest
の変更でIndexOutOfBoundsException
がスローされる問題を修整しました。
セキュリティ・マネージャがない状態でensureCache
が不必要にアクセス制御チェックを実行する問題を修整しました。
システム・プロパティに対して解決中のCoherence構成要素を削除しました。たとえば、システム・プロパティautostart
はCoherence構成要素autostart
をオーバーライドしません。
report-cache-size.xml
にReportTime
列がない問題を修整しました。
プロキシが非常に小さいメッセージを処理するループでスタックし、過度にCPUを消費する問題に対処しました。
Windowsループバック・インタフェース上でTMB信頼できるトランスポートを使用すると、レイテンシが非常に高くなる問題に対処しました。
すべてのストレージ・ノードが停止している場合にNearCacheのフロント・マップがクリアされない問題を修整しました。
syntheticをtrue
に設定するエントリ・プロセッサ・キャッシュの更新がCacheEvent.isSynthetic()
に反映されるようになりました。
NotFilter
の内側フィルタがAndFilter
で、AndFilter
の内側フィルタの1つが索引を使用し、その他のフィルタが使用していない場合に間違った結果が返されるNotFilter
の不具合を修整しました。
NearCacheのフロント・マップがキャッシュの破棄時にクリアされない問題を修整しました。
周知のクラス・タイプ(ArrayList
、HashMap
など)に対するコーデックを追加しました。
パフォーマンスを向上させるためにCoherence RESTのJDK HttpServer
でTCP_NODELAY
をデフォルトで有効にしました。
拡張接続のデフォルトのリクエストと接続のタイムアウトが、ドキュメントに記載された30秒ではなく、無限に設定されていた問題を修整しました。
ユーザーによってCoherence RESTに送信されるXMLデータでDTDおよび外部エンティティをデフォルトで不許可にし、セキュリティを向上させました。ユーザーは、ブール値システム・プロパティcoherence.rest.xml.allowDTD
およびcoherence.rest.xml.allowExternalEnti
を設定してこれらを有効にできます。
coherence-tx.jar
がファイルcoherence-tx.rar
に組み込まれない原因となっていた問題を修整しました。
Coherence RESTが、文字列が引用符で囲まれない間違ったJSON文字列形式を返す問題を修整しました。
ValueChangeEventFilter
の問題を修整し、フィルタによって使用される値が正しく抽出されるようにしました。
サーバーのフェイルオーバー時のキャッシュ・サイズ値が正しくない問題を修整しました。
Coherence JCache PutIfAbsent
が、期限切れになった直後のエントリでputの実行に失敗し、断続的に失敗していました。
ローカル専用(インプロセス)イベントを受信するマップ・リスナーのスロー・メモリー・リークの原因となっている問題が修正されました。
バッキングマップ・スキームのない分散スキームによってputの呼出し時にNullPointerException
になる問題を修整しました。
Exalogic環境で大規模なマルチキャスト・パケットが続けて破棄される問題に対処しました。
アイデンティティ・トークンをアサートするCoherence IdentityAsserter
がないという警告がスローされる問題を修整しました。
逆行のみのSimpleMapIndex
とKeyExtractor
の組合せが非常に遅い問題を修正しました。
UdpSocket
のロックの取得を試みている間PacketSpeaker
が応答しなくなる問題を修整しました。
キャッシュがキャッシュ・ストアを使用して構成されている場合、単一エントリでのPUT
、GET
およびDELETE
が機能しないCoherence RESTの問題を修整しました。
すべてのストレージ・ノードが停止している場合にNearCacheのフロント・マップがクリアされない問題を修整しました。
NearCacheのフロント・マップがキャッシュの破棄時にクリアされない問題を修整しました。
ネーム・サービスを使用する際、.NETクライアントにポート・パラメータで"System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values
"例外が発生する問題を修正しました。
読取りおよび書込みロックの取得の問題を修正しました。
SynchronizedDictionary.AcquireWriteLock()
がスレッド割込みを隠す問題を修正しました。
Class::getTypeInfo()
およびClass::typeEquals()
メソッドを追加しました。
すべてのストレージ・ノードが停止している場合にNearCacheのフロント・マップがクリアされない問題を修整しました。
NearCacheのフロント・マップがキャッシュの破棄時にクリアされない問題を修整しました。
デバッグ・スタック・トレースの取得の問題が修正されました。
次の変更および拡張機能は、12c (12.1.3.0.4)リリース用に作成されています。
一意な名前が付けられたキャッシュの作成/破棄の繰返しによるクライアント/プロキシのメモリー・リークを修正しました。
ブロック化同期から非ブロック化同時実行制御への変更時にスレッド・スタベーションが発生する可能性がある問題を修正しました。
フィルタ関連コールで不適切な結果となる可能性がある問題を修正しました。
エントリ・プロセッサからentry.setValue
をコール中にUnsupportedOperationException
がスローされる問題を修正しました。
ContinuousQueryCache
のメモリー・リークを修正しました。
まれに発生するシナリオでバイナリ・キーが2回修飾される問題を修正しました。
AIXでIBM JDKを使用してクラスタに接続している場合に、「マシン」タブおよび「平均のロード」グラフが空白になるJVisualVMプラグインの問題を修正しました。
ローリング再起動時に起動結果をデシリアライズする際にクライアントがEOFException
を取得する可能性がある問題を修正しました。
高ユニットを超過するキャッシュ・エントリが正しく削除されない問題を修正しました。
シリアライズ不可能な例外によりサービスが終了する可能性がある問題を修正しました。
タイムアウトベースの停止検出に対するより適切なタイミングの応答を可能にするために、クォーラム・ポリシーの処理を改善しました。
JMXモデルがリフレッシュされた実際の日付を反映するために、JVisualVMプラグインのクラスタ概要画面の「データのリフレッシュ」を更新しました。
アグリゲータからのBackingMapContext.getReadOnlyEntry
のコールがIllegalArgumentException
により失敗する問題を修正しました。
Coherence RESTアプリケーションのアンデプロイ/デプロイでRequestPolicyException: No storage-enabled nodes exist
が発生する可能性がある問題を修正しました。
JVisualVMプラグインでデータ表の列ヘッダーをクリックして任意の列を基準としてソートする機能を追加しました。
重大なクロック・スキューによりクラスタの結合に失敗する可能性がある問題に対処しました。
キャッシュが破棄された後に不要なunregister MBean
メッセージが管理対象ノードに送信される問題を修正しました。
同時スレッドでバッキング・マップ・モニターが保持されており、ブロックされ割込みできない場合に、サービスの停止中にデッドロックが発生する可能性がある問題を修正しました。
セキュリティ・マネージャがない状態でensureCache
が不必要にアクセス制御チェックを実行する問題を修整しました。
構成済の接続タイムアウトにハンドシェイクを含めるために、SSL接続を改善しました。
CacheFactory
メソッドにおける同時アクセスの問題を修正しました。
ContinuousQueryCache
のメモリー・リークを修正しました。
PofExtractor
のLimitFilter
でUnsupportedOperationException
がスローされる可能性がある問題を修正しました。
UTF-8文字列検証の問題を修正しました。
ContinuousQueryCache
のメモリー・リークを修正しました。
この項では、リリース時に判明している問題について説明します。
比較的大規模なクラスタとともに管理対象Coherenceサーバーを使用している場合は、管理サーバーのメモリー消費の問題が発生することがあります。この問題および可能な回避策の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverリリース・ノート リリース12c (12.1.2)』の管理サーバーのメモリー消費およびJMX通知に関する項を参照してください。
Apple OS X 10.9 (Mavericks)でC++ アプリケーションをビルドする場合、(「CC
」のかわりに)「g++
」コマンドでコンパイルし、「-mmacosx-version-min=10.7
」パラメータを使用する必要があります。
Coherence JVisualVMプラグインのエラスティック・データのグラフ機能に断続的な問題(グラフが表示されてから数時間後にグラフから小さな値が消失する)があります。これは主にエラスティック・データ・タブに影響しますが、他のタブのデータにも影響する可能性があります。
この問題を回避するには、VisualVMの最新バージョン(1.3.6、1.3.7または1.3.8)をダウンロードしてインストールしてください(次のURLで入手可能)。
この項では、12c (12.1.3)リリースで非推奨になった機能について説明します。
Coherence 12c
(12.1.3)リリースでは、com.tangosol.run.xml.XmlConfigurableインタフェースは非推奨になりました。インジェクションのサポートにより、このインタフェースは不要になります。実装を初期化する別の方法については、第2.1項「非推奨のXmlConfigurableインタフェースの代替」を参照してください。
次のリストでは、com.tangosol.run.xml.XmlConfigurable
インタフェースが非推奨になるために影響を受けるインタフェース、クラスおよびメソッドについて説明します。
非推奨になるインタフェース
インジェクションのサポートにより、このインタフェースは不要になります。
com.tangosol.run.xml.XmlConfigurable
非推奨になるインタフェース上のメソッド
インジェクションのサポートにより、このメソッドは不要になります。
com.tangosol.util.Controllable.configure(XmlElement xml)
非推奨になるクラス
これらのクラスは、ParameterizedBuilder
実装に置き換えられます。
com.tangosol.io.ConfigurableSerializerFactory
com.tangosol.net.ConfigurableAddressProviderFactory
影響を受けるインタフェース
これらのインタフェースのすべての実装は、インジェクションを使用して構成されます。
com.tangosol.net.BackingMapManagerContext
com.tangosol.net.CacheService
com.tangosol.net.Cluster
com.tangosol.net.InvocationService
com.tangosol.net.NameService
com.tangosol.net.PartitionedService
com.tangosol.net.ProxyService
com.tangosol.net.Service
com.tangosol.util.Service
影響を受けるクラス
これらのクラスは、インジェクションを使用して構成されます。
com.tangosol.coherence.reporter.ColumnView
com.tangosol.coherence.reporter.ReporterColumnView
com.tangosol.coherence.rest.config.RestConfig
com.tangosol.coherence.servlet.AbstractHttpSessionCollection
com.tangosol.coherence.servlet.CoherenceHttpSessionCollection
com.tangosol.coherence.servlet.SplitHttpSessionCollection
com.tangosol.coherence.transaction.internal.ClusterWrapper
com.tangosol.coherence.transaction.internal.ServiceWrapper
com.tangosol.coherence.weblogic.PortalCacheProvider
com.tangosol.io.bdb.BerkeleyDBBinaryStoreManager
com.tangosol.io.pof.ConfigurablePofContext
com.tangosol.net.ConfigurableAddressProvider
com.tangosol.net.SocketOptions
weblogic.servlet.internal.session.WebLogicSPIHttpSessionIdGenerator
影響を受けるパッケージ
すべてのクラスは、インジェクションを使用して構成されます。
com.tangosol.coherence.reporter.locator
影響を受けるクラス
これらのクラスはすでに非推奨であるため、変更は必要ありません。
com.tangosol.net.CompressionFilter
(すでに非推奨)
com.tangosol.net.DefaultConfigurableCacheFactory
(すでに非推奨)
com.tangosol.net.security.AbstractEncryptionFilter
(すでに非推奨)
com.tangosol.net.security.ClusterEncryptionFilter
(すでに非推奨)
影響を受けるクラス
これらのクラスは、XML構成をサポートしていないか、パススルーを実行するか、またはUnsupportedOperationException
エラーをスローします。
com.tangosol.io.journal.AbstractJournalRM
com.tangosol.io.journal.FlashJournalRM
com.tangosol.io.journal.RamJournalRM
com.tangosol.net.WrapperCacheService
com.tangosol.net.WrapperInvocationService
com.tangosol.net.WrapperService
影響を受けるプロジェクト・リソース/XSD
coherence-operational-config-base.xsd
情報をメモリーに格納できるNIOバッキング・マップ実装(NIOメモリー・マネージャ)は現在のリリースで非推奨となりました。メモリーマップ・ファイルに情報を格納するNIOバッキング・マップの実装(NIOファイル・マネージャ)は引き続き有効です。
NIOメモリー・マネージャを使用するかわりに、JournalBinaryStore
クラスを使用します。JournalBinaryStore
クラスは、エラスティック・データ機能でフラッシュ・ジャーナルおよびRAMジャーナルが使用するバイナリ・ストアを実装します。『Oracle Fusion Middleware Oracle Coherenceでのアプリケーションの開発』のジャーナルの概要に関する項を参照してください。