2014-04-21 2 views
0

내 Java 프로젝트에서 ehcache를 사용하려고합니다. 새로운 것이 었습니다.봄에 ehcache에 새로운 가치를 추가 할 수 있습니까?

지금은 지역 목록을 검색하기 위해 ehcache를 사용하고 있으며 새 프로젝트를 추가 할 때마다 @TriggersRemove 기능을 사용하여 캐시를 지우고 다시로드합니다.

예 : 나는 10 개의 영역을 검색하고 ehcache를 사용하여 캐시를 지우고 다시로드 할 영역을 하나 더 추가합니다.

은 캐시에서 데이터를 다시로드하지 않기위한 다른 옵션입니다.

내 코드 :

@Cacheable(cacheName="retrieveAreas") 
public List<AreaBO> retrieveAreas(){ 

     //some code here 
} 

@TriggersRemove(cacheName="retrieveAreas", removeAll=true) 
public long addArea(AreaBO areaBO) throws UserServiceException{ 

     // some codes here 

} 
+0

캐시를 다시로드하는 이유를 알 수 없습니다. 성취하고자하는 것은 무엇입니까? – geoand

+0

hai geoand, 새로 추가 된 영역을 표시하고 싶습니다. 다시 캐시를로드합니다. 다시로드 캐시를 피하고 캐시에 새 값을 추가 할 수 있습니까? –

답변

0

당신으로 Ehcache에서 주석을 사용하는 것으로 보인다. 어디 버전 3.1 이후 Spring가 제공하는 캐싱 주석로 전환 할 경우 코드는 다음과 같습니다

@Cacheable(value="retrieveAreas") 
public List<AreaBO> retrieveAreas(){ 

     //some code here 
} 

@CachePut(value="retrieveAreas") 
public long addArea(AreaBO areaBO) throws UserServiceException{ 

     // some codes here 

} 
당신이 볼 수있는 차이는 캐시에 메소드의 반환 값을 추가 @CachePut 주석에

지정된. EHCache에서 해당 주석을 인식하지 못합니다.