Only one AsyncAnnotationBeanPostProcessor may exist within the context. 问题说明: 报错如下
2017-11-02 17:54:00,689 [main - ] ERROR o.s.w.c.ContextLoader - Context initialization failed
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath*:interface-spring-service.xml]
Offending resource: class path resource [applicationContext.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Only one AsyncAnnotationBeanPostProcessor may exist within the context.
Offending resource: URL [file:/C:/works_ht/fosun-component/component-parent/component-interface-parent/component-interface-core/target/classes/interface-spring-service.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68) ~[spring-beans-3.2.9.RELEASE.jar:3.2.9.RELEASE]
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85) ~[spring-beans-3.2.9.RELEASE.jar:3.2.9.RELEASE]
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76) ~[spring-beans-3.2.9.RELEASE.jar:3.2.9.RELEASE]
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:256) ~[spring-beans-3.2.9.RELEASE.jar:3.2.9.RELEASE]
一般处理 删除重复的 定义。
但是,各个组件用例检查,仅有一份,仍是报错,必输删除掉才能避免不错。但定时任务就失效了。
跟spring源码,发现xml地区加载了两遍。
分析原因为: 在maven 的 target下面 和 引用的jar里面都存在要加载的xml配置。
删除 target下xml文件,问题解决。target下一般在编译打包会出现配置文件。
分布式应用,链启动扫描组件,注意下扫描的地方。