zoukankan      html  css  js  c++  java
  • @EnableAsync annotation metadata was not injected Spring容器启动后访问Servlet报错

    @EnableAsync annotation metadata was not injected

    2015年12月20日 20:06:54

    在初始化spring事务部分碰到该错误, 详细错误信息如下:

    [plain] view plain copy
     
    1. 警告: Exception encountered during context initialization - cancelling refresh attempt  
    2. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.annotation.internalAsyncAnnotationProcessor' defined in org.springframework.scheduling.annotation.ProxyAsyncConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected  
    3.     at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)  
    4.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1119)  
    5.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1014)  
    6.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)  
    7.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)  
    8.     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)  
    9.     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)  
    10.     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)  
    11.     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)  
    12.     at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:220)  
    13.     at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:615)  
    14.     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465)  
    15.     at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434)  
    16.     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)  
    17.     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)  
    18.     at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)  
    19.     at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)  
    20.     at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)  
    21.     at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)  
    22.     at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)  
    23.     at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)  
    24.     at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)  
    25.     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)  
    26.     at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)  
    27.     at org.eclipse.jetty.server.Server.doStart(Server.java:282)  
    28.     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)  
    29.     at net.sourceforge.eclipsejetty.starter.embedded.JettyEmbeddedAdapter.start(JettyEmbeddedAdapter.java:67)  
    30.     at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:84)  
    31.     at net.sourceforge.eclipsejetty.starter.embedded.JettyEmbeddedLauncherMain.main(JettyEmbeddedLauncherMain.java:42)  
    32. Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected  
    33.     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)  
    34.     at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)  
    35.     ... 28 more  
    36. Caused by: java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected  
    37.     at org.springframework.util.Assert.notNull(Assert.java:112)  
    38.     at org.springframework.scheduling.annotation.ProxyAsyncConfiguration.asyncAdvisor(ProxyAsyncConfiguration.java:45)  
    39.     at org.springframework.scheduling.annotation.ProxyAsyncConfiguration
      EnhancerBySpringCGLIBEnhancerBySpringCGLIB
      82eb591.CGLIB$asyncAdvisor$0(<generated>)  
    40.     at org.springframework.scheduling.annotation.ProxyAsyncConfiguration
      EnhancerBySpringCGLIBEnhancerBySpringCGLIB
      82eb591
      FastClassBySpringCGLIBFastClassBySpringCGLIB
      ed8c37b9.invoke(<generated>)  
    41.     at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)  
    42.     at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:309)  
    43.     at org.springframework.scheduling.annotation.ProxyAsyncConfiguration
      EnhancerBySpringCGLIBEnhancerBySpringCGLIB
      82eb591.asyncAdvisor(<generated>)  
    44.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
    45.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
    46.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
    47.     at java.lang.reflect.Method.invoke(Method.java:606)  
    48.     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)  
    49.     ... 29 more  
    50.   
    51. 十二月 16, 2015 11:42:21 下午 org.springframework.web.context.ContextLoader initWebApplicationContext  
    52. 严重: Context initialization failed  
    53. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.annotation.internalAsyncAnnotationProcessor' defined in org.springframework.scheduling.annotation.ProxyAsyncConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected  
    54.     at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)  
    55.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1119)  
    56.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1014)  
    57.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)  
    58.     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)  
    59.     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)  
    60.     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)  
    61.     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)  
    62.     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)  
    63.     at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:220)  
    64.     at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:615)  
    65.     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465)  
    66.     at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434)  
    67.     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)  
    68.     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)  
    69.     at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)  
    70.     at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)  
    71.     at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)  
    72.     at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)  
    73.     at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1242)  
    74.     at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)  
    75.     at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)  
    76.     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)  
    77.     at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)  
    78.     at org.eclipse.jetty.server.Server.doStart(Server.java:282)  
    79.     at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)  
    80.     at net.sourceforge.eclipsejetty.starter.embedded.JettyEmbeddedAdapter.start(JettyEmbeddedAdapter.java:67)  
    81.     at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:84)  
    82.     at net.sourceforge.eclipsejetty.starter.embedded.JettyEmbeddedLauncherMain.main(JettyEmbeddedLauncherMain.java:42)  
    83. Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected  
    84.     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)  
    85.     at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)  
    86.     ... 28 more  
    87. Caused by: java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected  
    88.     at org.springframework.util.Assert.notNull(Assert.java:112)  
    89.     at org.springframework.scheduling.annotation.ProxyAsyncConfiguration.asyncAdvisor(ProxyAsyncConfiguration.java:45)  
    90.     at org.springframework.scheduling.annotation.ProxyAsyncConfiguration
      EnhancerBySpringCGLIBEnhancerBySpringCGLIB
      82eb591.CGLIB$asyncAdvisor$0(<generated>)  
    91.     at org.springframework.scheduling.annotation.ProxyAsyncConfiguration
      EnhancerBySpringCGLIBEnhancerBySpringCGLIB
      82eb591
      FastClassBySpringCGLIBFastClassBySpringCGLIB
      ed8c37b9.invoke(<generated>)  
    92.     at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)  
    93.     at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:309)  
    94.     at org.springframework.scheduling.annotation.ProxyAsyncConfiguration
      EnhancerBySpringCGLIBEnhancerBySpringCGLIB
      82eb591.asyncAdvisor(<generated>)  
    95.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
    96.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
    97.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
    98.     at java.lang.reflect.Method.invoke(Method.java:606)  
    99.     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)  
    100.     ... 29 more  
    错误原因:

    在spring的配置文件applicationContext.xml中, 配置包扫描器时, 使用了*, 想扫描所有的包; 而这种方式有可能扫描到spring自带的包, 造成错误(自我理解, 不对的话求教育)

    改动前:

    [html] view plain copy
     
    1. <!-- 包扫描器 -->  
    2. <context:component-scan base-package="*"/>  
    改动后(具体指定了要扫描的包):
    [html] view plain copy
     
    1. <!-- 包扫描器 -->  
    2. <context:component-scan base-package="com.git.*"/>  
  • 相关阅读:
    程序结束时执行
    Flex动画效果
    Flex_As操作大全
    bat文件格式
    flex builder 1037:包不能嵌套
    JAVA延时
    RMAN备份详解2
    linux系统监控示例:vmstat
    RMAN还原与恢复2(RMAN Incomplete Recovery)
    Oracle有效地使用块(1)
  • 原文地址:https://www.cnblogs.com/javaboy2018/p/8944568.html
Copyright © 2011-2022 走看看