2012-05-21 2 views
2

Привет Я внедряю ehcache на основе аннотаций в своем приложении. Я реализую это на уровне сервиса, и я использую DetachedCriteria для запросов, но ehcache не работает. Кто-нибудь может об этом подумать? пожалуйста, помогите мне или предложите мне другой способ сделать это. Заранее спасибоehcache не работает

В ehcache.xml

<defaultCache eternal="true" maxElementsInMemory="100" overflowToDisk="false" /> 

    <cache name="loadAll" maxElementsInMemory="1000" eternal="true" overflowToDisk="false" /> 

</ehcache> 

на уровне услуг, я использую

@Cacheable(cacheName="loadAll") 
    List<ShiftDetail> loadAll(DetachedCriteria detachedCriteria); 

и в applicationContext.xml Ehcache отображается в

<ehcache:annotation-driven create-missing-caches="true" cache-manager="cacheManager" /> 

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

Возможно, вы сможете бы продемонстрировать свой код? Я немного поработал с ehcache, но я не могу извергнуть его, как будто это алфавит. Рассмотрите возможность щелчка ** изменить ** на свой вопрос и добавить некоторые из соответствующих кода и конфигурации. Это даст нам некоторый контекст и с чем работать. Удачи! – jmort253

+0

Привет, Раман, вы решили проблему? У меня такая же проблема, и я немного боюсь. Каждый раз, когда я вызываю метод, он не создает экземпляр кеша. Это мой вопрос: http://stackoverflow.com/questions/11194982/spring-annotation-cache-cachedecoratorfactory-not-configured-for-defaultcache –

+0

Что именно вы хотите кэшировать? – Anubhab

ответ

0

Надеюсь, вы сделали f ступеньки.
1. Вам нужен ehcache.xml файл с правильным configuration.Sample можно найти
2 вашего springapplicationcontext.xml ли вы добавили правильный XSD в теге фасоли.
Пример правильной конфигурации показано ниже:

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:cache="http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring" 
xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.2.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd 
    http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring 
    http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring/ehcache-spring-1.2.xsd 
    "> 
<cache:annotation-driven /> 
    <bean id="cacheManager" 
     class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
     <property name="configLocation" value="/WEB-INF/xml/spring/ehcache.xml" /> 
    </bean> 

</beans> 

Теперь в вашем методе используют @Cacheable из import com.googlecode.ehcache.annotations.Cacheable;

Это из моего приложения и он должен работать.

Смежные вопросы