java.lang.IllegalStateException: ApplicationEventMulticaster not initialized...
My config class
Code:
package my.component.config;
import my.component.client.DataRepositoryImpl;
import my.component.domain.DataRepository;
import org.springframework.config.java.annotation.Bean;
import org.springframework.config.java.annotation.Configuration;
import org.springframework.config.java.annotation.ExternalValue;
import org.springframework.config.java.annotation.valuesource.PropertiesValueSource;
@Configuration
@PropertiesValueSource(locations={"classpath:my/component/config/my.properties"})
public class AppConfig
{
@ExternalValue("user.name")
private String name;
@ExternalValue("user.address")
private String address;
@Bean
public DataRepository dataRepository()
{
return new DataRepositoryImpl(name, address);
}
}
My main class
Code:
package my.component.client;
import my.component.config.AppConfig;
import my.component.domain.DataRepository;
import org.springframework.config.java.context.JavaConfigApplicationContext;
public class Client
{
private JavaConfigApplicationContext ctx;
public Client()
{
ctx = new JavaConfigApplicationContext(AppConfig.class);
}
public void execute()
{
DataRepository info = ctx.getBean(DataRepository.class);
System.out.println(info.retrieveInfo());
}
public static void main(String[] args)
{
Client client = new Client();
client.execute();
}
}
Code:
Exception in thread "main" java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.config.java.context.JavaConfigApplicationContext@87816d: startup date [Thu Feb 11 18:23:50 SGT 2010]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:307)
at org.springframework.context.support.AbstractApplicationContext.addListener(AbstractApplicationContext.java:827)
at org.springframework.context.support.AbstractApplicationContext.addApplicationListener(AbstractApplicationContext.java:367)
at org.springframework.config.java.internal.process.InternalConfigurationPostProcessor.wrapInternalBeanFactoryInApplicationContext(InternalConfigurationPostProcessor.java:103)
at org.springframework.config.java.internal.process.InternalConfigurationPostProcessor.createInternalBeanFactory(InternalConfigurationPostProcessor.java:91)
at org.springframework.config.java.internal.process.InternalConfigurationPostProcessor.postProcessBeanFactory(InternalConfigurationPostProcessor.java:74)
at org.springframework.config.java.context.JavaConfigApplicationContext.invokeBeanFactoryPostProcessors(JavaConfigApplicationContext.java:121)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:398)
at org.springframework.config.java.context.JavaConfigApplicationContext.<init>(JavaConfigApplicationContext.java:80)
at my.component.client.Client.<init>(Client.java:14)
at my.component.client.Client.main(Client.java:26)
What happen here? Can anyone explain this?