Привет, подскажите на правильном ли я пути.... Короче есть такая конфигурация: | Код | <bean id="categoryPublishMethodCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean"> <property name="cacheManager" ref="cacheManager"/> <property name="cacheName" value="category.publish.METHOD_CACHE"/> </bean>
<bean id="categoryPublishMethodCacheInterceptor" class="com.extendmedia.mlp.core.interceptor.MethodCacheInterceptor"> <property name="cacheResult" value="true"/> <property name="cache"> <ref local="categoryPublishMethodCache"/> </property> </bean>
<bean id="categoryPublishMethodsCacheConfiguration" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> <property name="advice" ref="categoryPublishMethodCacheInterceptor"/> <property name="patterns"> <list> <value>.*publishCategory</value> <value>.*publishCategories</value> </list> </property> </bean>
|
<property name="cacheName" value="category.publish.METHOD_CACHE"/> вот эта штука инициализируется здесь:
| Код | <ehcache> <diskStore path="java.io.tmpdir"/>
<defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" />
<cache name="category.publish.METHOD_CACHE" maxElementsInMemory="100" eternal="false" timeToIdleSeconds="500" timeToLiveSeconds="500" overflowToDisk="true"> </cache> </ehcache>
|
вопрос1: Есть веб- сервис, который должен менять параметры кеша.... тоесть юзер на странице выбирает сколько будет timeToLiveSeconds, запрос обрабатывается в веб-сервисе. Ну я что-то такое написал... вроде компилится... это вообще правильно или нет.
| Код | WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(m_servletContext); Cache bean = (Cache) wac.getBean("categoryPublishMethodCache"); bean.getCacheConfiguration().setTimeToLiveSeconds(1000);
|
вопрос2: ну и плюс юзер может делать flush... насколько понимаю это просто скидывание параметров кеша....тут можно вызвать просто:
| Код | WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(m_servletContext); Cache bean = (Cache) wac.getBean("categoryPublishMethodCache"); bean.flush();
|
Это нормально?
|