Spring キャッシュ・プロバイダーの構成

[Version 2.1 and later] Spring Framework バージョン 3.1 では、新しいキャッシュの抽象化が導入されています。この新しい抽象化を使用すると、既存の Spring アプリケーションに対してキャッシュをトランスペアレントに追加できます。キャッシュ抽象化のためのキャッシュ・プロバイダーとして WebSphere® DataPower® XC10 アプライアンス を使用できます。

始める前に

このタスクについて

Spring Framework でキャッシュ抽象化を使用することで、Java メソッドの実行回数を減らすことができます。構成後は、特定のメソッドの結果はキャッシュに入れられます。同じ引数を使用してメソッドを再実行すると、抽象化はキャッシュをチェックし、メソッドの結果が既にキャッシュに入っているかを確認します。結果がキャッシュに入っていれば、メソッドを再実行する必要はありません。 抽象化を実装すると、コストがかかるメソッドの実行回数を減らすと共に、ご使用のアプリケーションの平均応答時間を短くすることができます。

手順

WebSphere DataPower XC10 アプライアンス をキャッシュ・プロバイダーとして使用するよう、Spring Inversion of Control (IoC) コンテナーを構成します。 WebSphere DataPower XC10 アプライアンス のキャッシュ実装環境は、 com.ibm.websphere.objectgrid.spring パッケージ内にあります。 Spring IoC コンテナー構成で以下の Bean を定義します。
<bean id="wxsCSDomain" class="com.ibm.websphere.objectgrid.spring.ObjectGridCatalogServiceDomainBean"
  p:catalog-service-endpoints="CATALOG_SERVICE_ENDPOINTS" 
  />

<bean id="wxsGridClient" class="com.ibm.websphere.objectgrid.spring.ObjectGridClientBean" 
  p:object-grid-name="OBJECT_GRID_NAME"
  p:catalog-service-domain-ref="wxsCSDomain" />

<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
  <property name="caches">
    <set>   
      <bean class="com.ibm.websphere.objectgrid.spring.ObjectGridCache"
         p:name="CACHE_NAME"
         p:map-name="MAP_NAME "
	        p:object-grid-client-ref="wxsGridClient" />
     </set>
   </property>
</bean>
CATALOG_SERVICE_ENDPOINTS
カタログ・サーバーのホスト名とポートを指定します。
クライアント・サイドで設定を変更する ObjectGrid XML ファイルの絶対パスまたは相対パスを、Spring リソースとして指定します。 Spring 内のリソースの指定について詳しくは、Spring Framework Reference Documentation: Resources を参照してください。

例:p:client-override-xml="file:/path/to/objectgrid.xml"

例: p:client-override-xml="classpath:com/example/app/override-objectgrid.xml"

例: p:client-override-xml="http://myserver/override-objectgrid.xml"

例: p:client-override-xml="ftp://myserver/override-objectgrid.xml"

CLIENT_SECURITY_CONFIG (オプション)
client.properties ファイルの絶対パスまたは相対パスを、Spring リソースとして指定します。 Spring 内のリソースの指定について詳しくは、Spring Framework Reference Documentation: Resources を参照してください。WebSphere DataPower XC10 アプライアンスclient.properties の作成について詳しくは、クライアント認証を使用するためのデータ・グリッド・アプリケーションの構成を参照してください。

例: p:client-security-config="file:/path/to/client.properties"

OBJECT_GRID_NAME
ObjectGrid 名を指定します。提供された XML 構成ファイルを使用してコンテナー・サーバーを開始する場合、このパラメーターは不要です。この値は、ユーザー・インターフェースで作成した単純データ・グリッドの名前です。
CACHE_NAME
Spring キャッシング・アプリケーションで指定されるキャッシュの名前を指定します。
MAP_NAME
キャッシュのバックアップ・マップの名前を指定します。この値は、ユーザー・インターフェースで作成した単純データ・グリッドの名前です。 デフォルト値以外のマップ名を使用する場合は、動的マップを定義することができます。 動的マップの作成について詳しくは、動的マップの構成オプションを参照してください。

以下のスニペットは、myXC10.myhost.com:2809 でアプライアンスがホスティングする default という名前のキャッシュを作成します。 この例は、データ・グリッドにちなんで名前が付けられるデフォルト・マップ・インスタンスを使用しています。
<bean id="wxsCSDomain" class="com.ibm.websphere.objectgrid.spring.ObjectGridCatalogServiceDomainBean" 
	p:catalog-service-endpoints ="myXC10.myhost.com:2809" />  
<bean id="wxsGridClient" class="com.ibm.websphere.objectgrid.spring.ObjectGridClientBean"  
	p:object-grid-name=”my_simple_data_grid” 
  p:catalog-service-domain-ref="wxsCSDomain" /> 
<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">  
	<property name="caches">   
		<set>    
			<bean class="com.ibm.websphere.objectgrid.spring.ObjectGridCache"     
				p:name="default"     
				p:map-name=”my_simple_data_grid”    
				p:object-grid-client-ref="wxsGridClient" />   
		</set>  
	</property>
</bean>