Интеграция ehcache с пружиной 3.0 - PullRequest
2 голосов
/ 05 июля 2011

У меня есть приложение, в котором я использую Spring 3.0.2 и ibatis.Теперь мне нужно интегрировать ehcache с моим кодом.Я попробовал эту ссылку , но не смог заставить ее работать.Я бы предпочел, чтобы кто-то дал мне подробную информацию о необходимых банках, конфигурации xml, которые необходимо выполнить, и изменения кода при необходимости.

Ответы [ 3 ]

2 голосов
/ 05 июля 2011

Обновление до последней версии Spring 3.1 - он имеет встроенную поддержку кэша с помощью аннотаций - см. Здесь

Кроме того, вы всегда можете использовать EhCacheFactoryBean

1 голос
/ 05 июля 2011

Чтобы реализовать это в своем приложении, выполните следующие действия:

Шаг 1:

Добавьте файлы JAR в свое приложение, как указано на сайте проекта Ehcache Annotations для Spring .

Шаг 2:

Добавьте аннотацию к методам, которые вы хотите кэшировать.Предположим, вы используете приведенный выше метод Dog getDog (String name):

@Cacheable(name="getDog")
Dog getDog(String name)
{
    ....
}

Шаг 3:

Настройка Spring.Вы должны добавить следующее в свой конфигурационный файл Spring в разделе объявления bean-компонентов:

<ehcache:annotation-driven cache-manager="ehCacheManager" />

Пожалуйста, обратитесь к Ehcache site для получения полной информации.

0 голосов
/ 21 апреля 2017

Чтобы интегрировать Ehcache, выполните следующие действия:

1 - Добавить зависимость в XML-файл pom

<dependency>
   <groupId>net.sf.ehcache</groupId>
   <artifactId>ehcache-core</artifactId>
   <version>2.6.9</version>
</dependency>

2 - создайте XML-файл с именем spring-cache.xml и поместите его в ресурсыпапка

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:p="http://www.springframework.org/schema/p" xmlns:cache="http://www.springframework.org/schema/cache"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/cache 
        http://www.springframework.org/schema/cache/spring-cache.xsd">

    <cache:annotation-driven/>

    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
        <property name="cacheManager" ref="ehcache" />
    </bean>

    <bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
        <property name="configLocation" value="classpath:ehcache.xml" />
    </bean>

</beans>

3 - как вы можете видеть, мы используем ссылку на ehcache.xml, поэтому создайте файл и поместите его в папку ресурсов

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="true"
    monitoring="autodetect" dynamicConfig="true">
    <cache name="users" maxEntriesLocalHeap="5000"
        maxEntriesLocalDisk="1000" eternal="false" diskSpoolBufferSizeMB="20"
        timeToIdleSeconds="200" timeToLiveSeconds="500"
        memoryStoreEvictionPolicy="LFU" transactionalMode="off">
        <persistence strategy="localTempSwap" />
    </cache>
</ehcache>

, чтобы вы могли увидеть, как создать кеш для "пользователи ", так что они могут использовать везде, где список пользователей запрашивается из базы данных

4 - используйте его, как показано ниже, код

@Cacheable(value="users")
public List<User> userList() {
    return userDao.findAll();
}

, так что это так же, как вы можете реализовать кеш, где требуется

все еще есть некоторые сомнения или путаница, смотрите живую демонстрацию

Интегрируйте EhCache в Spring MVC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...