12.8. 2 次キャッシュ
12.8.1. 2 次キャッシュ リンクのコピーリンクがクリップボードにコピーされました!
2 次キャッシュとは、アプリケーションセッション外部で永続化された情報を保持するローカルデータストアのことです。このキャッシュは永続プロバイダーにより管理され、アプリケーションとデータを分離することでランタイムを改善します。
JBoss EAP では、以下の目的のためにキャッシュがサポートされます。
- Web セッションのクラスタリング
- ステートフルセッション Bean のクラスタリング
- SSO クラスタリング
- Hibernate/JPA 2 次キャッシュ
各キャッシュコンテナーは repl および dist キャッシュを定義します。これらのキャッシュは、ユーザーアプリケーションで直接使用しないでください。
12.8.1.1. デフォルトの 2 次キャッシュプロバイダー リンクのコピーリンクがクリップボードにコピーされました!
Infinispan は、JBoss EAP のデフォルトの 2 次キャッシュプロバイダーです。Infinispan は、オプションのスキーマを持つ分散型のインメモリーキーと値のデータストアで、Apache License 2.0 で利用できます。
12.8.1.1.1. 永続ユニットでの 2 次レベルキャッシュの設定 リンクのコピーリンクがクリップボードにコピーされました!
永続ユニットの shared-cache-mode 要素を使用して 2 次レベルキャッシュを設定できます。
-
「単純な JPA アプリケーションの作成」を参照して、Red Hat CodeReady Studio で
persistence.xmlファイルを作成します。 以下の内容を
persistence.xmlファイルに追加します。<persistence-unit name="..."> (...) <!-- other configuration --> <shared-cache-mode>SHARED_CACHE_MODE</shared-cache-mode> <properties> <property name="hibernate.cache.use_second_level_cache" value="true" /> <property name="hibernate.cache.use_query_cache" value="true" /> </properties> </persistence-unit>SHARED_CACHE_MODE要素には以下の値を指定できます。-
ALL: すべてのエンティティーがキャッシュ可能と見なされます。 -
NONE: キャッシュ可能と見なされるエンティティーはありません。 -
ENABLE_SELECTIVE: キャッシュ可能とマークされたエンティティーのみがキャッシュ可能と見なされます。 -
DISABLE_SELECTIVE: 明示的にキャッシュ不可能であるとマークされたエンティティーを除くすべてのエンティティーがキャッシュ可能と見なされます。 -
UNSPECIFIED: 動作は定義されません。プロバイダー固有のデフォルトは提供されます。
-