12.2. フレームワークの統合


Data Grid のこのリリースでは、Spring や Hibernate などの有名なエンタープライズ Java フレームワークとの統合が向上しています。

12.2.1. Spring の機能強化

このリリースでは、Spring Framework との Data Grid 統合に複数の機能強化が追加されています。

注記

Data Grid のこのリリースは、Spring Framework および Spring Boot の特定のバージョンをサポートします。サポートされる構成については、https://access.redhat.com/articles/2435931 を参照してください。

12.2.1.1. 取得操作の同期

Data Grid は SPR-9254 を実装するため、get() メソッドが、マルチスレッドメカニズムを使用して、キー値を返します。

詳細については、org.springframework.cache インターフェイスの get の説明を参照してください。

12.2.1.2. 非同期操作とタイムアウトの設定

Data Grid を Spring キャッシュプロバイダーとして使用する際、読み取り操作と書き込み操作を待機する最大時間を設定できるようになりました。タイムアウトにより、メソッド呼び出しを非同期で行うことができます。

次の put() メソッドの例を使用して、タイムアウトの前後の違いを検討してください。

書き込みタイムアウト前

public void put(Object key, Object value, long lifespan, TimeUnit unit) {
      this.cacheImplementation.put(key, value != null ? value : NullValue.NULL, lifespan, unit);
}
Copy to Clipboard Toggle word wrap

書き込みタイムアウト後

public void put(final Object key, final Object value) {
      this.nativeCache.put(key, value);
      try {
         if (writeTimeout > 0)
            this.nativeCache.putAsync(key, value != null ? value : NullValue.NULL).get(writeTimeout, TimeUnit.MILLISECONDS);
         else
            this.nativeCache.put(key, value != null ? value : NullValue.NULL);
      } catch (InterruptedException e) {
         Thread.currentThread().interrupt();
         throw new CacheException(e);
      } catch (ExecutionException | TimeoutException e) {
         throw new CacheException(e);
      }
   }
Copy to Clipboard Toggle word wrap

書き込み操作のタイムアウトを設定すると、putAsync が呼び出されます。これは、他の書き込みをブロックしないファイアアンドフォーゲット呼び出しです。

タイムアウトを設定しない場合は、同期 put が呼び出され、他の書き込みがブロックされます。

infinispan.spring.operation.read.timeout および infinispan.spring.operation.write.timeout でタイムアウト設定を行います。方法については、ドキュメントの タイムアウトの設定 を参照してください。

12.2.1.3. Spring アプリケーションの集中設定プロパティー

Data Grid をリモートクライアントサーバーモードで Spring キャッシュプロバイダーとして使用している場合は、クラスパスの hotrod-client.properties で設定プロパティーを設定できます。その後、アプリケーションは、その設定で RemoteCacheManager を作成できます。

使用可能な設定プロパティーに関する情報は、org.infinispan.client.hotrod.configuration パッケージの説明 で入手できます。

12.2.1.4. キャッシュ名を取得する機能

RemoteCacheManager クラスには、["cache1", "cache2"] などの文字列の JSON 配列としてキャッシュ名を返す getCacheNames() メソッドが含まれるようになりました。このメソッドは org.springframework.cache.CacheManager 実装に含まれているため、Data Grid を Sping キャッシュプロバイダーとして使用する際、定義されたキャッシュ名を検索できます。

RemoteCacheManager の Javadoc で詳細を確認してください。

12.2.1.5. Spring Boot スターター

Data Grid には、Spring Boot スターターが含まれており、迅速に起動および実行できます。Data Grid Spring Boot スターター を参照してください。

12.2.2. Hibernate のセカンドレベル (L2) キャッシング

Data Grid は、アプリケーションの永続レイヤーのパフォーマンスを向上させるために、(L2) キャッシュプロバイダーとして Hibernate とシームレスに統合されています。

Hibernate は、Java 用のオブジェクト/リレーショナルマッピング (ORM) 機能を提供し、完全に準拠した JPA (Java Persistence API) 永続化プロバイダーです。Hibernate は、キャッシュ内のオブジェクトがセッションにバインドされる第 1 レベル (L1) キャッシュを使用します。L2 キャッシュプロバイダーである Data Grid は、すべてのセッションでオブジェクトのグローバルキャッシュとして機能します。

次の場所で、Data Grid を L2 キャッシュとして設定できます。

  • JPA: persistence.xml
  • Spring: application.properties

L2 キャッシュの有効化に関する完全な情報、およびさまざまなデプロイメントシナリオの情報については、ドキュメントの JPA/Hibernate L2 Cache を参照してください。

12.2.3. 組み込みモードでの Red Hat SSO との統合

このリリースでは、Red Hat SSO を使用して、ライブラリー (組み込み) モード で Data Grid へのアクセスを保護するためのサポートを提供します。

詳細については、secure-embedded-cache クイックスタートを参照し、Red Hat SSO との統合を示すサンプルアプリケーションをデプロイおよび実行してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat