2012-07-09 22 views
6

हमारे पास वसंत 3.0 में एक आवेदन लिखा गया है। मैंने देखा कि @Async काम नहीं करता है। मैंने चारों ओर खोज की और ध्यान दिया कि मुझेवसंत Async काम नहीं करता

<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/> 
<task:executor id="myExecutor" pool-size="5"/> 
<task:scheduler id="myScheduler" pool-size="10"/> 

लेकिन जब मैं ऐसा करता हूं तो मुझे अपवाद मिलता है।

यहाँ मेरी विन्यास फाइल है:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:batch="http://www.springframework.org/schema/batch" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:int-jmx="http://www.springframework.org/schema/integration/jmx" 
xmlns:int-mail="http://www.springframework.org/schema/integration/mail" 
xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" 
xmlns:jms="http://www.springframework.org/schema/jms" xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task" 
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" 
xmlns:ws="http://www.springframework.org/schema/web-services" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.5.0.xsd 
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
     http://www.springframework.org/schema/batch http://www.springframework.org/schema/batch/spring-batch.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd 
     http://www.springframework.org/schema/integration/jmx http://www.springframework.org/schema/integration/jmx/spring-integration-jmx.xsd 
     http://www.springframework.org/schema/integration/mail http://www.springframework.org/schema/integration/mail/spring-integration-mail.xsd 
     http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd 
     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd 
     http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsd 
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
     http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd 
     http://www.springframework.org/schema/web-services http://www.springframework.org/schema/web-services/web-services-1.5.xsd"> 

<bean id="applicationProperties" 
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
     <list> 
      <value>classpath:version.properties</value> 
     </list> 
    </property> 
    <property name="ignoreResourceNotFound" value="true" /> 
    <property name="ignoreUnresolvablePlaceholders" value="true" /> 
</bean> 

<context:annotation-config /> 
<context:component-scan base-package="package" /> 

<aop:aspectj-autoproxy /> 

<bean id="globalConfig" class="package.GlobalConfig" /> 

<mvc:annotation-driven /> 

<amq:connectionFactory id="connectionFactory1" 
    brokerURL="tcp://localhost:61616?jms.useAsyncSend=true" /> 

<amq:connectionFactory id="connectionFactory2" 
    brokerURL="tcp://localhost:61616?jms.useAsyncSend=true" /> 

<bean id="singleConnectionFactory1" 
    class="org.springframework.jms.connection.SingleConnectionFactory" 
    p:targetConnectionFactory-ref="connectionFactory1" 
    p:reconnectOnException="true" /> 

<bean id="singleConnectionFactory2" 
    class="org.springframework.jms.connection.SingleConnectionFactory" 
    p:targetConnectionFactory-ref="connectionFactory2" 
    p:reconnectOnException="true" /> 

<bean id="cachingConnectionFactory1" 
    class="org.springframework.jms.connection.CachingConnectionFactory" 
    p:targetConnectionFactory-ref="singleConnectionFactory1" 
    p:sessionCacheSize="100" /> 

<bean id="cachingConnectionFactory2" 
    class="org.springframework.jms.connection.CachingConnectionFactory" 
    p:targetConnectionFactory-ref="singleConnectionFactory2" 
    p:sessionCacheSize="100" /> 

<bean id="jmsTemplate1" class="org.springframework.jms.core.JmsTemplate" 
    p:connectionFactory-ref="cachingConnectionFactory1" /> 

<bean id="jmsTemplate2" class="org.springframework.jms.core.JmsTemplate" 
    p:connectionFactory-ref="cachingConnectionFactory2" /> 

<bean 
    class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> 

<bean 
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 

<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass"> 
     <value> 
      org.springframework.web.servlet.view.tiles2.TilesView 
     </value> 
    </property> 
</bean> 

<bean id="messageSource" 
    class="org.springframework.context.support.ResourceBundleMessageSource"> 
    <property name="basenames"> 
     <list> 
      <value>AppBundle</value> 
     </list> 
    </property> 
</bean> 

<!-- Declare the Interceptor --> 
<mvc:interceptors> 
    <bean class="package.PipelineInterceptor" /> 
</mvc:interceptors> 

<!-- Declare the Resolver --> 
<bean id="localeResolver" 
    class="org.springframework.web.servlet.i18n.SessionLocaleResolver" /> 




<bean id="tilesConfigurer" 
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles.xml</value> 
     </list> 
    </property> 
</bean> 



<bean id="otherViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver" 
    p:order="1" p:location="/WEB-INF/views.xml" /> 


</beans> 

यहाँ है अपवाद मैं:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'locationBrowserController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private package.srv.homepage.impl.HomepageSrvImpl package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl; nested exception is java.lang.IllegalArgumentException: Can not set package.srv.homepage.impl.HomepageSrvImpl field package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458) 
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339) 
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306) 
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127) 
at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private package.srv.homepage.impl.HomepageSrvImpl package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl; nested exception is java.lang.IllegalArgumentException: Can not set package.srv.homepage.impl.HomepageSrvImpl field package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:502) 
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:282) 
... 29 more 
Caused by: java.lang.IllegalArgumentException: Can not set package.srv.homepage.impl.HomepageSrvImpl field package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146) 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150) 
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63) 
at java.lang.reflect.Field.set(Field.java:657) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:498) 
... 31 more 
Jul 9, 2012 2:13:25 PM org.apache.catalina.core.StandardContext loadOnStartup 
SEVERE: Servlet threw load() exception 
java.lang.IllegalArgumentException: Can not set package.srv.homepage.impl.HomepageSrvImpl field package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146) 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150) 
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63) 
at java.lang.reflect.Field.set(Field.java:657) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:498) 
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:282) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458) 
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339) 
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306) 
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127) 
at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 
Jul 9, 2012 2:13:25 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jul 9, 2012 2:13:25 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Jul 9, 2012 2:13:25 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 14033 ms 
Jul 9, 2012 2:13:25 PM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring FrameworkServlet 'expresso' 
Jul 9, 2012 2:13:26 PM org.apache.catalina.core.ApplicationContext log 
SEVERE: StandardWrapper.Throwable 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'locationBrowserController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private package.srv.homepage.impl.HomepageSrvImpl package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl; nested exception is java.lang.IllegalArgumentException: Can not set package.srv.homepage.impl.HomepageSrvImpl field package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458) 
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339) 
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306) 
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127) 
at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private package.srv.homepage.impl.HomepageSrvImpl  package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl; nested exception is java.lang.IllegalArgumentException: Can not set package.srv.homepage.impl.HomepageSrvImpl field  package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:502) 
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:282) 
... 33 more 
Caused by: java.lang.IllegalArgumentException: Can not set package.srv.homepage.impl.HomepageSrvImpl field package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146) 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150) 
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63) 
at java.lang.reflect.Field.set(Field.java:657) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:498) 
... 35 more 
Jul 9, 2012 2:13:26 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Allocate exception for servlet expresso 
java.lang.IllegalArgumentException: Can not set package.srv.homepage.impl.HomepageSrvImpl field package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146) 
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150) 
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63) 
at java.lang.reflect.Field.set(Field.java:657) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:498) 
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) 
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:282) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458) 
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339) 
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306) 
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127) 
at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 

कोई भी सुझाव?

  • सार्वजनिक विधि @Async
  • साथ एनोटेट अपने config में

    1. <task:annotation-driven/>:

    +0

    कृपया अपनी कॉन्फ़िगरेशन फ़ाइल को केवल प्रासंगिक भागों में डालें। आप पाएंगे कि हम आपकी समस्या से संबंधित लाइनों को खोजने के लिए बहुत सारे अनावश्यक कोड से गुजरना पसंद नहीं करते हैं। –

    +0

    लॉल! 'स्प्रिंग असिंक काम नहीं करता' –

    उत्तर

    4

    @Async के लिए काम करने के लिए (मैं एनोटेशन आधारित config संभालने कर रहा हूँ), तो आपको 2 बातें करने की ज़रूरत है ... और यह इसके बारे में है।

    आपका अपवाद इंगित नहीं करता है कि @Async काम नहीं करता है। यह इंगित करता है कि फ़ील्ड HomepageSrvImpl के साथ एक ऑटोवॉयरिंग समस्या है।

    0

    स्टैक ट्रेस से यह अनुभाग इंगित करता है कि त्रुटि क्या है। फ़ील्ड होमपेज SrvImpl इंटरफ़ेस प्रकार का होना चाहिए जो कंक्रीट क्लास नहीं है। यदि आप स्थान BrowserController और मुखपृष्ठSrvImpl की परिभाषा को समझ नहीं सकते हैं - बस श्रेणी & स्वचालित अनुभागों को जोड़ें।

    Caused by: java.lang.IllegalArgumentException: Can not set 
    package.srv.homepage.impl.HomepageSrvImpl field 
    package.mvc.controller.browser.LocationBrowserController.homepageSrvImpl to $Proxy24 
    
    1

    मैं इस एक ही समस्या थी ... मैं अंतर "IMPLS" है कि एक अंतरफलक है कि मैं autowire कोशिश कर रहा हूँ लागू का एक समूह है, समस्या यह है कि मैं कार्यान्वयन और न इंटरफ़ेस autowiring किया गया था .. जैसे ही मैंने इंटरफेस को स्वचालित करना शुरू किया (एक @ कूलीफायर के साथ) सबकुछ ए-ओके काम करता है !!!!

    0

    मैं भी वही समस्या का सामना करता हूं।

    विशेषता proxy-target-class="true"<task:annotation-driven/> को जोड़ने के लिए यह मेरे लिए तय किया गया। मेरी परिभाषा अब इस तरह दिखती है:

    <task:annotation-driven 
        executor="myExecuter" scheduler="myScheduler" proxy-target-class="true"/> 
    

    जिसने मेरे मामले में समस्या हल की (वसंत 3.1.1 का उपयोग करके)। स्पष्टीकरण के लिए Using @Transaction annotation with @Autowired - Spring देखें।

    2

    यह पुराना सवाल है, लेकिन चूंकि अब तक इसका जवाब नहीं है और स्वीकार किया गया है, यहां हम जाते हैं।

    समस्या का सार यह है कि @Async तंत्र कैसे काम करता है। क्या हो रहा है के लिए संकेत स्टैकट्रेस के इस भाग है, विशेष रूप से क्या बोल्ड के साथ चिह्नित है:

    की वजह से: java.lang.IllegalArgumentException: package.srv.homepage.impl.HomepageSrvImpl क्षेत्र सेट नहीं कर सकता package.mvc.controller.browser.LocationBrowserController।homepageSrvImpl करने के लिए $ Proxy24

    क्या हो रहा है कि, ताकि विधि @Async के साथ चिह्नित के आह्वान के बीच में रोकने के लिए सक्षम होने के लिए, स्प्रिंग इसके लिए एक प्रॉक्सी बनाने के लिए की जरूरत है।

    जैसा कि किसी अन्य उत्तर में उपयोगकर्ता "एल गुआपो" द्वारा इंगित किया गया है, आप संभवतया ऑटोवायरिंग विशेषता का प्रकार घोषित कर रहे हैं, इंटरफ़ेस का उपयोग करके नहीं, बल्कि वास्तविक कार्यान्वयन का उपयोग कर रहे हैं। (ध्यान दें कि स्टैकट्रेस में त्रुटि विशेष रूप से प्रक्षेपित होने वाली ऑब्जेक्ट को इंगित नहीं करती है, लेकिन उस ऑब्जेक्ट को जिसे इसे एक विशेषता के रूप में स्वामित्व की आवश्यकता होती है, लेकिन यह अभी भी आपकी समस्या निवारण को सही दिशा में इंगित करता है)।

    यह तब तक ठीक काम करता है जब तक आप @Async एनोटेशन का उपयोग शुरू नहीं करते हैं, क्योंकि वह प्रॉक्सी बनाने के लिए स्प्रिंट को मजबूर करता है और इसे स्वत: करने में विफल रहता है।

    मैंने इसका परीक्षण नहीं किया है, लेकिन मुझे लगता है कि यह किसी भी अन्य पहलुओं के साथ होगा, वसंत को आपके कोड को अंतःस्थापित करने की आवश्यकता है (उदाहरण के लिए @Transactional)।

    +0

    @ एपिट आपके संपादन के लिए धन्यवाद। हालांकि, मैंने बोल्ड में उत्तर के एक महत्वपूर्ण हिस्से को संकेत दिया था (ध्यान दें कि यह ऊपर दिए गए पाठ पर "बोल्ड में" कहता है, और अब यह खो गया है, क्योंकि आपके द्वारा डाला गया उद्धरण सही तरीके से बोल्ड नहीं करता है। इसे ठीक करें। धन्यवाद ! – jotadepicas

    संबंधित मुद्दे