Home

GMazzo

CacheAware Framework

A simple self-refreshing cache framework for Java
Simple... yes, ordinary I don't think so! Check [How It Works].


net.sf.cacheaware.core

The Core Module

It's the central module of the framework.
It's in charge of analyzing the code inside of a @CacheAwareFactory method, caching its result and deciding when and why expire this cache for reflect recent changes on them.

It's requires three kind on component for work:

  • A core-handler for acting as a controller of the core module. Currently a implemented by an Spring AoP aspect or by Google Guice
  • A persistence-provider: for decide when and why a cache should expire caused by a entity's status change. Currently a implemented by and Hibernate interceptor, by a Oracle TopLink Session Customizer, or by a EclipseLink Session Customizer
  • A cache-provider: for holding cached items. You may choose between a HashMap, a Ehcache or a SpyMemcachedClient implementation

The Spring AoP Core Handler Module

A core-handler based on a Spring AoP aspect.
It's intercepts all bean's methods annotated with @CacheAwareFactory and performs the caching with and an around-kind aspect.

The Google Guice Core Handler Module

A core-handler based on a Google Guice module.
It's intercepts all bean's methods annotated with @CacheAwareFactory and performs the caching with and around-kind interception.


net.sf.cacheaware.persistence

The Hibernate Persistence Provider Module

A Hibernate persistence-provider, based on a Hibernate's interceptor and a PersistenceProvider implementation.

The Hibernate's interceptor

Notifies the core when a entity's state changes, causing all cached results where that entity took part to be invalidated.

The Hibernate's PersistenceProvider

Resolves Hibernate's proxies and transient entities, getting the most recent from the underlying database

A TopLink persistence-provider, based on a TopLink's session customizer and a PersistenceProvider implementation.

Notifies the core when a entity's state changes, causing all cached results where that entity took part to be invalidated.

Resolves TopLink's values holders (proxies) and transient entities, getting the most recent from the underlying database

A EclipseLink persistence-provider, based on a EclipseLink's session customizer and a PersistenceProvider implementation.

Notifies the core when a entity's state changes, causing all cached results where that entity took part to be invalidated.

Resolves EclipseLink's values holders (proxies) and transient entities, getting the most recent from the underlying database


net.sf.cacheaware.cache

The Ehcache Cache Provider Module

This module lets you use the Ehcache framework as a CacheProvider for the core

The SpyMemcached Cache Provider Module

This module lets you use your Memcached servers (if you have any) as a CacheProvider for the core


Related

Home: How It Works

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.