spring项目启动的时候报错:
java.lang.IllegalStateException
: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Tue Jul 18 14:49:33 CST 2017]; root of context hierarchy
分析 最近的一次操作为复制了修改了一个类导致系统启动不了,可能原因:复制类的时候,注解的name命名重复
结论:
复制的
@Service("boWeiBrokenScreenService")标签重复
修改后已解决
详细错误如下:
MPLATNAUTO[2017-07-18 14:49:33,862]>>INFO >> [Closing Root WebApplicationContext: startup date [Tue Jul 18 14:49:33 CST 2017]; root of context hierarchy] - [org.springframework.web.context.support.XmlWebApplicationContext] -859 [localhost-startStop-1]
MPLATNAUTO[2017-07-18 14:49:33,895]>>WARN >> [Exception thrown from ApplicationListener handling ContextClosedEvent] - [org.springframework.web.context.support.XmlWebApplicationContext] -892 [localhost-startStop-1]
java.lang.IllegalStateException
: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Tue Jul 18 14:49:33 CST 2017]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(
AbstractApplicationContext.java:347
)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(
AbstractApplicationContext.java:334
)
at org.springframework.context.support.AbstractApplicationContext.doClose(
AbstractApplicationContext.java:1049
)
at org.springframework.context.support.AbstractApplicationContext.close(
AbstractApplicationContext.java:1010
)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(
ContextLoader.java:559
)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(
ContextLoaderListener.java:143
)
at org.apache.catalina.core.StandardContext.listenerStop(
StandardContext.java:5146
)
at org.apache.catalina.core.StandardContext.stopInternal(
StandardContext.java:5810
)
at org.apache.catalina.util.LifecycleBase.stop(
LifecycleBase.java:224
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:159
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1571
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1561
)
at java.util.concurrent.FutureTask.run(
FutureTask.java:262
)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1145
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:615
)
at java.lang.Thread.run(
Thread.java:745
)
MPLATNAUTO[2017-07-18 14:49:33,895]>>WARN >> [Exception thrown from LifecycleProcessor on context close] - [org.springframework.web.context.support.XmlWebApplicationContext] -892 [localhost-startStop-1]
java.lang.IllegalStateException
: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Tue Jul 18 14:49:33 CST 2017]; root of context hierarchy
at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(
AbstractApplicationContext.java:360
)
at org.springframework.context.support.AbstractApplicationContext.doClose(
AbstractApplicationContext.java:1057
)
at org.springframework.context.support.AbstractApplicationContext.close(
AbstractApplicationContext.java:1010
)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(
ContextLoader.java:559
)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(
ContextLoaderListener.java:143
)
at org.apache.catalina.core.StandardContext.listenerStop(
StandardContext.java:5146
)
at org.apache.catalina.core.StandardContext.stopInternal(
StandardContext.java:5810
)
at org.apache.catalina.util.LifecycleBase.stop(
LifecycleBase.java:224
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:159
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1571
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1561
)
at java.util.concurrent.FutureTask.run(
FutureTask.java:262
)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1145
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:615
)
at java.lang.Thread.run(
Thread.java:745
)
七月 18, 2017 2:49:33 下午 org.apache.catalina.core.StandardContext listenerStop
严重: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.IllegalStateException
: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(
AbstractRefreshableApplicationContext.java:171
)
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(
AbstractApplicationContext.java:1090
)
at org.springframework.context.support.AbstractApplicationContext.doClose(
AbstractApplicationContext.java:1064
)
at org.springframework.context.support.AbstractApplicationContext.close(
AbstractApplicationContext.java:1010
)
at org.springframework.web.context.ContextLoader.closeWebApplicationContext(
ContextLoader.java:559
)
at org.springframework.web.context.ContextLoaderListener.contextDestroyed(
ContextLoaderListener.java:143
)
at org.apache.catalina.core.StandardContext.listenerStop(
StandardContext.java:5146
)
at org.apache.catalina.core.StandardContext.stopInternal(
StandardContext.java:5810
)
at org.apache.catalina.util.LifecycleBase.stop(
LifecycleBase.java:224
)
at org.apache.catalina.util.LifecycleBase.start(
LifecycleBase.java:159
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1571
)
at org.apache.catalina.core.ContainerBase$StartChild.call(
ContainerBase.java:1561
)
at java.util.concurrent.FutureTask.run(
FutureTask.java:262
)
at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1145
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:615
)
at java.lang.Thread.run(
Thread.java:745
)