BeanPostProcessor with @Bean annotation not working
I'm trying to create a `BeanPostProcessor` for registering some values to a Map.
The `BeanPostProcessor` works file if I'm create the bean instance via xml definition, but I change the bean definition to `@Configuration` class it is not working.
PostProcessor
Code:
public class InstantiationTracingBeanPostProcessor implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Bean '" + beanName );
return bean;
}
}
Bean Configuration
Code:
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
@org.springframework.context.annotation.Configuration
public class Configuration {
@Bean
public @Qualifier("InstantiationTracingBeanPostProcessor")
InstantiationTracingBeanPostProcessor activitiConfigurationBeanPostProcessor() {
return new InstantiationTracingBeanPostProcessor();
}
}
Component scan Configuration
Code:
<context:component-scan base-package="xyz.config"/>
<context:annotation-config/>
The application just hangs if I use the above configuration. But if I use xml based configuration as given below it works fine.
Code:
<bean class="xyz.bean.InstantiationTracingBeanPostProcessor"/>
I'm using spring 3.1.0.
What am I doing wrong here?