package com.geccocrawler.gecco.monitor; import java.lang.reflect.Method; import com.geccocrawler.gecco.spider.render.RenderException; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; public class RenderMointorIntercetor implements MethodInterceptor { @Override public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { if(method.getName().equals("inject")) { try { Object o = proxy.invokeSuper(obj, args); return o; } catch(RenderException ex) { RenderMonitor.incrException(ex.getSpiderBeanClass().getName()); throw ex; } } else { return proxy.invokeSuper(obj, args); } } }