1 15 package org.apache.hivemind.examples.impl; 16 17 import java.lang.reflect.InvocationHandler ; 18 import java.lang.reflect.Proxy ; 19 import java.util.List ; 20 21 import org.apache.commons.logging.Log; 22 import org.apache.hivemind.InterceptorStack; 23 import org.apache.hivemind.ServiceInterceptorFactory; 24 import org.apache.hivemind.internal.Module; 25 26 32 public class ProxyLoggingInterceptorFactory implements ServiceInterceptorFactory 33 { 34 35 public void createInterceptor(InterceptorStack stack, Module invokingModule, List parameters) 36 { 37 Log log = stack.getServiceLog(); 38 39 InvocationHandler handler = new ProxyLoggingInvocationHandler(log, stack.peek()); 40 41 Object interceptor = 42 Proxy.newProxyInstance( 43 invokingModule.getClassResolver().getClassLoader(), 44 new Class [] { stack.getServiceInterface()}, 45 handler); 46 47 stack.push(interceptor); 48 } 49 } 50 | Popular Tags |