Вы смотрели на решения на базе 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" />