Przejdź do głównej zawartości

Ehcache - główne metody i klasy

Główne klasy i metody w EHCACHE

W skład Ehcache wchodzi "CacheManager" mający za zadanie umożliwienia zarządzania zawartością pamięci podręcznej. Na pamięć podręczną składają się elementy, które w istocie odwzorowują pary wartości. Implementacja pamięci odbywa się w pamięci RAM lub też na dysku. Poniżej omówione zostaną logiczne elementy reprezentujące te wartości w raz z możliwościami zarządczymi. 

Menadżer pamięci podręcznej 

Tworzenie, dostęp oraz usuwanie danych z pamięci podręcznych realizowane jest za pomocą "CacheManager'a".

Cache manager - tryb tworzenia 

CacheManager posiada dwa tryby tworzące : pojedynczy i wielokrotny (per instancja)

Wersje Ehcache z przed 2.5 umożliwiały uruchomienie dowolnej ilości CacheManager'ów o tej samej nazwie w pojedynczym JVM. Zatem w momencie wywołania new CacheManager (...) , nowy CacheManager został powoływany do życia nie zważając na już wcześniej istniejącego. Wywołując CacheManager.create(...) zwrócony zostaje już istniejąca pojedyncza instancja CacheManager'a o skonfigurowanej wcześniej nazwie (jeżeli nazwa została nadana) lub tworzona jest nowa pojedyncza instancja. 

CacheManager w wersji 2.5 lub wyższej nie pozwala na uruchamianie powielonych instancji CacheManager'a o tej samej nazwie w jednej JVM. Konstruktor CacheManager() tworzący niepojedynczą instancję CacheManagera narusza ta zasadę i powoduje wystąpienie błędy NullPointerException. Jeżeli jednak zachodzi potrzeba wywołania pojedynczej instancji CacheManager'a o powielonej nazwie w obrębie tej samej JVM wykonuje się to przy użyciu wywołania : static CacheManager.create(...)  methods, pamiętając o używaniu nazwy. W przypadku, nie występowania jeszcze żadnego CacheManager'a zostanie on utworzony. 

W Ehcache 2.5.0 / 2.5.1 CacheManager.create(...) wywoła lub utworzy instancję CacheManager'a bez względu na to czy jest on w trybie pojedynczym czy wielokrotnym. W wersji 2.5.2 wywołanie CacheManager.create(...) zwraca pojedynczą instancję CacheManager'a wraz ze skonfigurowaną nazwą (jeżeli została nadana) lub tworzy pojedynczą instancję na podstawie istniejącej konfiguracji. 

Ehcache 2.5.2 wprowadza nową metodę CacheManager.newInstance(...) , która na podstawie istniejącej konfiguracji z której pobiera nadaną nazwę i wywołuję daną instancję CacheManagera lub na jej podstawię tworzy nową instancję. 

Wraz z Ehcache 2.5.2 i wyżej w celu sterowania działaniem CacheManagera możemy : 

  • CacheManager.newInstance (konfiguracja konfiguracja) - Powołujemy do życia nową instancję CacheManagera lub odwołujemy się do istniejącej wg znajdującej się w konfiguracji nazwy. 
  • CacheManager.create(...) - Tworzy nową pojedynczą instancję CacheManager'a według domyślnych ustawień lub zwraca istniejącą pojedynczą instancję CacheManager'a. Analogicznie można wykonać wywołanie CacheManager.GetInstance()
  • CacheManager.create(konfiguracja konfiguracja) - Utworzenie nowej instancji istniejącego CacheManagera z podaną konfiguracją lub odwołanie się do istniejącej instancji. 
  • new CacheManager(konfiguracja konfiguracja) - Utworzenie nowej instancji CacheManager'a pamiętając , że dostaniemy wyjątek jeżeli identyczna instancja już jest utworozna, lub parametry konfiguracyjne są puste. 

Tryb pojedynczy 

Ehcache-1.1 umożliwia tworzenie instancji CacheManager'a tylko w trybie pojedynczym. Rozwiązanie to może być zastosowane jeżeli wykorzystujemy metody statyczne. 

Tryb wielokrotny (instancje) 

Ehcache-1.2 - Tworzenie instancji CacheManager'a odbywa się analogicznie ja w wypadku instancji pojedynczych z tym, że mogą one występować równolegle obok siebie w zależności od konfiguracji. 

Jeżeli do dane pamięci podręcznej będą przechowywane tylko w pamięci RAM nie ma większych problemów. Jeżeli do przechowywania pamięci podręcznej wykorzystamy zasoby dyskowe ścieżki dostępowe dla CacheManager'a muszą być unikalne w obrębie systemu. Podczas tworzenia nowej instancji CacheManager'a sprawdzone zostanie czy ścieżka go wywołująca nie została już wcześniej wykorzystana i jeżeli jest utworzenie zostanie odrzucone. Jeżeli instancja CacheManager'a działa w klastrze należy również zwrócić uwagę by port nasłuchu również był unikalny. 

Współdziałanie tryby pojedynczego i wielokrotnego

Jeżeli aplikacja tworzy instancję CacheManagera używając konstruktora używając w tym celu metody statycznej to do życia powołana zostaje pojedyncza instancja CacheManagera. Jeżeli jakiś czas później aplikacja ponownie powoła kolejną instancję CacheManagera stosując tą samą lub inna metodę będą one współistniały jednocześnie. 

EHCACHE

Cała pamięć podręczna zostaje zaimplementowana jako interfejs Ehcache. Bufor posiada nazwę i atrybuty. Każda pamięć podręczna składa się z elementów. Działanie pamięci podręcznej w narzędziu Ehcache jest podobne do innych rodzajów pamięci podręcznej. Elementy pamięci podręczniej przechowywane są w pamięci RAM lub opcjonalnie na zasobach dyskowych. 

ELEMENT

Jako element rozumiemy tu pojedynczą spójną jednostkę znajdującą się w pamięci podręcznej. Posiada ona własny klucz, daną wartość i informację dostępowe. Element może zostać dodany i usunięty z pamięci podręcznej. Może również posiadać zależny od konfiguracji czas życia po jakim zostanie usunięty automatycznie. 


Komentarze

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)

Generowanie testowych plików o określonej wielkości