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
: 動作は定義されません。プロバイダー固有のデフォルトは提供されます。
-