|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.ehcache.exceptionhandler.ExceptionHandlingDynamicCacheProxy
public final class ExceptionHandlingDynamicCacheProxy
A dynamic proxy which provides CacheException handling.
The ehcache configuration will create and register in theCacheManager
Ehcache
s decorated
with this dynamic proxy. See following for programmatic use.
The createProxy factory method may be used to simply create a proxy. Otherwise the calling client
will need code similar to:
(Ehcache) Proxy.newProxyInstance(ehcache.getClass().getClassLoader(), new Class[]{ Ehcache.class }, new ExceptionHandlingDynamicCacheProxy(ehcache));A common usage is to create a proxy and then register the proxy in
CacheManager
in place of the
underlying cache. To do that create a proxy and then call
cacheManager.replaceCacheWithDecoratedCache(Ehcache cache, Ehcache decoratedCache);All clients accessing the cache through
cacheManager.getEhcache()
will then receive proxy references.
See CacheTest for a perf test.
Constructor Summary | |
---|---|
ExceptionHandlingDynamicCacheProxy(Ehcache ehcache)
Constructor: Use with something like: |
Method Summary | |
---|---|
static Ehcache |
createProxy(Ehcache ehcache)
A simple factory method to hide the messiness of creating the proxy from clients. |
Object |
invoke(Object proxy,
Method method,
Object[] args)
Processes a method invocation on a proxy instance and returns the result. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ExceptionHandlingDynamicCacheProxy(Ehcache ehcache)
(Ehcache) Proxy.newProxyInstance(ehcache.getClass().getClassLoader(), new Class[]{ Ehcache.class }, new ExceptionHandlingDynamicCacheProxy(ehcache));
ehcache
- the backing ehcacheMethod Detail |
---|
public static Ehcache createProxy(Ehcache ehcache)
ehcache
- the target cache
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
invoke
in interface InvocationHandler
proxy
- the proxy instance that the method was invoked onmethod
- the Method
instance corresponding to
the interface method invoked on the proxy instance. The declaring
class of the Method
object will be the interface that
the method was declared in, which may be a superinterface of the
proxy interface that the proxy class inherits the method through.args
- an array of objects containing the values of the
arguments passed in the method invocation on the proxy instance,
or null
if interface method takes no arguments.
Arguments of primitive types are wrapped in instances of the
appropriate primitive wrapper class, such as
java.lang.Integer
or java.lang.Boolean
.
null
and the interface method's return type is
primitive, then a NullPointerException
will be
thrown by the method invocation on the proxy instance. If the
value returned by this method is otherwise not compatible with
the interface method's declared return type as described above,
a ClassCastException
will be thrown by the method
invocation on the proxy instance.
Throwable
- the exception to throw from the method
invocation on the proxy instance. The exception's type must be
assignable either to any of the exception types declared in the
throws
clause of the interface method or to the
unchecked exception types java.lang.RuntimeException
or java.lang.Error
. If a checked exception is
thrown by this method that is not assignable to any of the
exception types declared in the throws
clause of
the interface method, then an
UndeclaredThrowableException
containing the
exception that was thrown by this method will be thrown by the
method invocation on the proxy instance.UndeclaredThrowableException
|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |