catch (NoSuchBeanDefinitionException e) {
String interfaceName = properties.getProperty(beanName);
log.debug("bean name '" + beanName + "' interface name " + interfaceName);
BeanDefinitionRegistry bdr = (BeanDefinitionRegistry) this;
RootBeanDefinition interceptorDefinition = new RootBeanDefinition(DebuggingInterceptor.class);
bdr.registerBeanDefinition(beanName + "_interceptor", interceptorDefinition);
RootBeanDefinition proxyDefinition = new RootBeanDefinition(ProxyFactoryBean.class);
proxyDefinition.getPropertyValues().addPropertyValue("interceptorNames", beanName + "_interceptor");
proxyDefinition.getPropertyValues().addPropertyValue("proxyInterfaces", interfaceName);
bdr.registerBeanDefinition(beanName, proxyDefinition);
return proxyDefinition;
}
}