Как настроить EHcache для автономной Java-программы без использования перехватчиков hibernate / spring? - PullRequest
8 голосов
/ 12 сентября 2010

Может кто-нибудь выложить пример для настройки Ehcache для автономного Java-приложения?

У меня есть следующие простые требования:

  • получение данных из базы данных,
  • форматирование этих данных и
  • запись в файл

Я использую jdbctemplate.Query, он выполняется быстро, но поиск из списка занимает довольно много времени. List содержит большой объем данных (набор результатов).

Кто-нибудь может подсказать, как преодолеть эту проблему?

Ответы [ 2 ]

2 голосов
/ 06 февраля 2015

Это очень старая запись, но, похоже, она регулярно откатывается назад ...

Вы должны последовать совету Паскаля и прочитать эти примеры, но вот фрагмент кода, который поможет вам начать работу (перевод из Scala, я не полностью проверил синтаксис)

  1. Сначала поместите net.sf.ehcache:ehcache:2.9.0 и его зависимости в ClassPath

  2. Чтобы создать кеш, достаточно просто

    CacheManager cacheMgr = CacheManager.newInstance();
    
    //Initialise a cache if it does not already exist
    if (cacheMgr.getCache("MyCache") == null) {
        cacheMgr.addCache("MyCache");
    }
    

Создайте CacheManager только один раз в своем коде и используйте его повторно.

  1. Поведение вашего кэша определяется XML-файлом конфигурации с именем ehcache.xml, который должен быть доступен на вашем пути к классам. Вы также можете сделать это программно. Файл может выглядеть как
    <ehcache>
        <diskStore path="java.io.tmpdir"/>
        <cache name="MyCache"
           maxEntriesLocalHeap="10000"
           eternal="false"
           timeToIdleSeconds="120"
           timeToLiveSeconds="120"
           maxEntriesLocalDisk="10000000"
           diskExpiryThreadIntervalSeconds="120"
           memoryStoreEvictionPolicy="LRU"
            >
           <persistence strategy="localTempSwap"/>
        </cache>
    </ehcache>

Для получения подробной информации о параметрах, проверьте http://ehcache.org/documentation/2.8/configuration/configuration

  1. Используйте это

    //use it
    Cache cache = cacheMgr.getCache("MyCache");
    
    //Store an element
    cache.put(new Element("key", mySerializableObj));
    
    //Retrieve an element
    Element el = cache.get("key");
    Serializable myObj = <Serializable>el.getObjectValue();
    

Попробуйте сохранить сериализуемые объекты, чтобы их можно было легко переполнить на устройстве хранения.

0 голосов
/ 12 сентября 2010

Проверьте Примеры кода и рецепты глава для получения дополнительной информации о прямом взаимодействии с ehcache .

Рецепты и образцы кода

Страница рецептов и примеров кода содержит рецепты - кратко лаконично примеры для конкретных случаев использования - и набор примеров кода, которые помогут Вы начинаете с Ehcache.

Они охватывают несколько вариантов использования и предоставляют несколько примеров кода, а это именно то, что вы просите.

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