2010-07-21 5 views
0

전체 요청에서 api를 소비한다고 dto를 캐싱하고 싶습니다. 서비스에서 요청 변수에 액세스하려고 시도하지만 작동하지 않습니다.grails의 요청 당 캐시

또한 요청 범위가있는 서비스를 만들려고했으나 봄에 콩 만들기 단계에서 오류가 발생했습니다.

이 같은 일부 일 : http://jira.codehaus.org/browse/GRAILS-4148

당신이 나에게 어떤 포인터를 줄 수 있습니까?

+0

현재 작동하지 않는 코드와 오류를 게시하면 더 많은 도움을 얻을 수 있습니다. 즉, resources.groovy에 Spring 캐시 빈을 생성하고 dto를 밀어 넣는 것이 좋습니다. – billjamesdev

+0

나는 더 많은 정보를 추가했다. @bill james – user2427

답변

0
  1. 요청 변수는 controllers에만 표시됩니다.
  2. 프로그램에서 서비스 요청 변수를 초기화하는 방법을 모르기 때문에 오류가 발생했습니다.

매개 변수로 임의의 서비스 메소드에 요청 변수를 자유롭게 전달할 수 있습니다. 캐시

  1. 사용 EhCache 쿼리를 최대 절전 모드 :

    당신은이 캐시 솔루션을 가지고있다.
  2. 전체 메서드 (반환 된 결과)를 캐시하려면 SpringCache을 사용하십시오.

P. 나는 EhCache + Grails 번들의 큰 전문가는 아니지만 제 의견으로는 SprigCache가 EhCache보다 훨씬 유연합니다 (조정 가능). 그러나이 두 공급자는 매우 다른 용도로 사용됩니다. SpringCache는 EhCache를 기반으로합니다.

+0

Ehcache는 동적 프록시를 중간에 둔다. 그리고 grails의 stacktrace는 이미 불투명합니다. 좀 더 명시적인 것을 찾고 있는데, 코드를 작성해야 할 필요는 없습니다. – user2427

+0

또한 내가 얻은 객체는 로컬 DB에 없으며 나머지 API를 사용합니다. – user2427

+0

나는 ehcache에 대한 문서를 읽었습니다. 나는 ehcache를 사용할 것이지만 Spring IOC가 없으면 감사 할 것입니다. – user2427