Декларативное (основанное на аннотациях) решение для кэширования для Java - PullRequest
1 голос
/ 18 августа 2011

Кроме Spring 3.1 и ehcache-spring-annotations , есть ли у нас другие альтернативы, кроме EhCache и Spring?

1 Ответ

0 голосов
/ 18 августа 2011

Вы смотрели на решения на базе Spring-AOP? Вы можете создать объект авто-прокси в вашем приложении applicationContext с помощью org.springframework.aop.support.RegexpMethodPointcutAdvisor , а затем создать объект, который реализует AfterReturningAdvice, ThrowsAdvice и MethodBeforeAdvice .

Используйте этот объект для мониторинга вызовов функций и выходов из них и кеширования необходимой информации.

<bean name="cacheHandler" class="org.yourname.CachingInterceptor" />
<bean id="cacheAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
  <property name="advice" ref="cacheHandler" />
  <property name="pattern" value="org.yourname.regex.of.stuff.you.want.cached.*" />
</bean>
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" />
...