It is strange that object produced by factory bean is not registered as application listeners, but it is possible to add it programmatically:
Code:
ApplicationEventMulticaster applicationEventMulticaster = (ApplicationEventMulticaster) applicationContext.getBean("applicationEventMulticaster");
applicationEventMulticaster.addApplicationListener((ApplicationListener) applicationContext.getBean("reportListener"));
Code:
<bean id="applicationEventMulticaster" class="org.springframework.context.event.SimpleApplicationEventMulticaster" />
<bean id="reportListener" class="com.example.MocksFactory">
<property name="type" value="org.springframework.context.ApplicationListener" />
</bean>