Как очистить кеш метода кеинтерцептора

Я занимаюсь разработкой веб-приложения, в котором я написал метод, в котором я назвал URL-адрес json, проанализировал его и сохранил в классе pojo.

Я просто кеширую этот метод, используя метод methodcacheinterceptor, Моя конфигурация xml ниже:

<bean id="methodCacheInterceptor"
    class="web.app.services.MethodCacheInterceptor">
    <property name="cache">
        <ref local="methodCache" />
    </property>
</bean>

<bean id="methodCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
    <property name="cacheManager">
        <ref local="cacheManager" />
    </property>
    <property name="cacheName">
        <value>videoItemsCache</value>
    </property>
</bean>

<bean id="cacheManager"
    class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
    <property name="configLocation">
        <value>/WEB-INF/ehcache.xml</value>
    </property>
</bean>

<bean id="methodCachePointCut"
    class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
    <property name="advice">
        <ref local="methodCacheInterceptor" />
    </property>
    <property name="patterns">
        <list>
            <value>.*web.app.services.ItemCollectionImpl.getCollection</value>
            <value>.*web.app.services.ItemCollectionImpl.buildCollection</value>
        </list>
    </property>
</bean>

Я установил время кэширования на 20 минут, и оно отлично работает!

Все, что я хочу, для определенной деятельности, я хочу переопределить и очистить этот кеш. В следующий раз, когда я посещаю страницу, я хочу, чтобы весь метод был выполнен, и данные не должны загружаться из кеша (я хочу очистить кеш) для этого конкретная деятельность.

FYI

CacheManager.getInstance(). GetCacheNames() - это печатает мое cachename, которое я дал в конфигурации xml.

Я пытался CacheManager.getInstance(). ClearAll(), удалить все методы, но это не работает!!

Кто-нибудь, помогите мне здесь!

Заранее спасибо.

0 ответов

Другие вопросы по тегам