Spring 캐시 제공자 구성

[Version 2.1 and later] Spring Framework 버전 3.1에서 새 캐시 추상을 제공합니다. 이 새 추상을 사용하여 기존 Spring 애플리케이션에 투명하게 캐싱을 추가할 수 있습니다. WebSphere® DataPower® XC10 Appliance을 캐시 추상을 위한 캐시 제공자로 사용할 수 있습니다.

시작하기 전에

이 태스크 정보

Spring 프레임워크에서 캐시 추상을 사용하여 Java 메소드가 실행되는 횟수를 줄일 수 있습니다. 구성하는 경우 특정 메소드 결과가 캐시에 배치됩니다. 메소드가 동일한 인수로 다시 실행되면 추상은 메소드 결과가 캐시에 이미 있는지 확인하기 위해 캐시를 검사합니다. 결과가 캐시에 있는 경우 메소드를 다시 실행할 필요가 없습니다. 추상을 구현하면 비싼 메소드 실행 횟수를 줄이고 애플리케이션에 대한 평균 응답 시간도 줄일 수 있습니다.

프로시저

WebSphere DataPower XC10 Appliance을 캐시 제공자로 사용하도록 Spring Inversion of Control(IoC) 컨테이너를 구성하십시오. WebSphere DataPower XC10 Appliance 캐시 구현은 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
카탈로그 서버 호스트 이름 및 포트를 지정합니다.
Spring 자원으로 클라이언트측 설정을 수정하는 ObjectGrid XML 파일의 절대 및 상대 경로를 지정합니다. 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 Applianceclient.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>