2012-05-01 3 views
2

기본적으로 JSP보기의 출력을 캐시하는 데 사용할 수 @Cacheable 수 있습니다, 그것은 가능한이 작업을 수행하는 것입니다 :이 때봄 +으로 Ehcache는

@Cacheable(cacheName="default") 
@RequestMapping("getContent/{name}") 
public String getContentByNameHandler(@PathVariable String name, Model model) { 

    ContentService contentService = domainService.getContentService(); 

    model.addAttribute("model",contentService.getContentByName(name)); 

    return RESOURCE_FOLDER + "content"; 
} 

은,보기가 캐시되지만 단지 간단한 jsp 뷰 렌더링 로직이 완료된 후 jsp 뷰가 아닌 캐시에서 jsp의 일반 내용이 리턴됩니다. 나는 봄 3.0.7에있어 ehcache-spring-annotations (http://code.google.com/p/ehcache-spring-annotations)

답변

1

@Cacheable을 사용하고있다. 모든 입력 매개 변수 및 해당 키 아래에 반환 값 넣기.

그래서 처리 된보기를 저장하지 않습니다. 단순히보기 이름 만 저장합니다.

일반적으로 서버 측 캐싱 대신 브라우저 캐싱을 사용합니다. 뷰를 렌더링하는 것은 컨텐트를 생성하는 것보다 덜 소모적이라고 가정하기 때문에 @Cacheable을 서비스 메소드에 넣습니다.

+0

좋아, 내가 세부 사항을 파고 아니지만,이 경우, 캐시 가능한 jsp의 일반 출력을 저장하고 그냥 처리 출력되지 않습니다. 그러나이 여전히 내 질문에 대답, 감사합니다. – chrismarx