spring、aop、批重试、异常:应为单个bean,但找到0

spring、aop、批重试、异常:应为单个bean,但找到0,spring,aop,Spring,Aop,我改了密码。原因是bean不能被构建 如果我不添加重试,它就会工作。如果我不添加重试,它就会工作 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="www.springframework.org/schema/beans" xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xmlns:util="www.springframework.org/schema/util" xmlns

我改了密码。原因是bean不能被构建

如果我不添加重试,它就会工作。如果我不添加重试,它就会工作

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="www.springframework.org/schema/beans"
xmlns:xsi="www.w3.org/2001/XMLSchema-instance"
xmlns:util="www.springframework.org/schema/util"
xmlns:aop="www.springframework.org/schema/aop"
xmlns:context="www.springframework.org/schema/context"
xsi:schemaLocation="
    www.springframework.org/schema/beans www.springframework.org/schema/beans/spring-beans-3.0.xsd
    www.springframework.org/schema/util www.springframework.org/schema/util/spring-util-3.0.xsd
    www.springframework.org/schema/aop www.springframework.org/schema/aop/spring-aop-3.0.xsd
    www.springframework.org/schema/context www.springframework.org/schema/context/spring-context-3.0.xsd
">
<bean class="com.company.team.task.taskMonitorImpl"/>
<aop:config>
    <aop:pointcut id="taskCheck" expression="execution(* com.company.team.task.taskMonitorImpl.*(..))" />
    <aop:advisor pointcut-ref="taskCheck" advice-ref="taskRetryAdvice" />
</aop:config>

<bean id="taskRetryAdvice" class="org.springframework.batch.retry.interceptor.RetryOperationsInterceptor">
    <property name="RetryOperations" ref="taskBatchRetryTemplate" />
</bean>

<bean id="taskBatchRetryTemplate" class="org.springframework.batch.retry.support.RetryTemplate">
   <property name="retryPolicy" ref="taskBatchRetryPolicy" />
   <property name="backOffPolicy" ref="ExponentialBackOffPolicy" />
</bean>

<bean id="taskBatchRetryPolicy" class="org.springframework.batch.retry.policy.SimpleRetryPolicy">
    <constructor-arg index="0" value="3"/>
    <constructor-arg index="1">
        <map>
            <entry key="java.lang.RuntimeException" value="true"/>
        </map>
    </constructor-arg>
</bean>

<bean id="ExponentialBackOffPolicy" class="org.springframework.batch.retry.backoff.ExponentialBackOffPolicy">
    <property name="initialInterval" value="300" >
        <description>Initial sleep interval value, default 300 ms</description>
    </property>
    <property name="maxInterval" value="30000" >
        <description>The maximum value of the backoff period in milliseconds.</description>
    </property>
    <property name="multiplier" value="2.0" >
        <description>The value to increment the exp seed with for each retry attempt.</description>
    </property>
 </bean>

<!--<context:annotation-config />-->
</beans>

初始睡眠间隔值,默认为300毫秒
退避周期的最大值(以毫秒为单位)。
为每次重试尝试递增exp种子的值。
log4j:WARN找不到记录器(org.springframework.context.support.ClassPathXmlApplicationContext)的追加器。
log4j:警告请正确初始化log4j系统。
信息:检测到JCL提供程序:Commons日志记录[Commons-Logging-api-1.1.1.jar]
信息:检测到JCL实现:Commons日志记录[Commons-Logging-adapters-1.1.1.jar]
信息:JCL输出为LOG4J
信息:log4j.appender.APPLICATION.File=/home/me/workspace/src/teamListingDestinationWorkflow/build/private/var/output/logs/teamListingDestinationWorkflow.log
线程“main”java.lang.ExceptionInInitializeError中出现异常
原因:org.springframework.beans.factory.BeanCreationException:创建名为“com.company.team.TeamListingDSTworkflowWorkflowMain.teamListingDstWorkflowMain”的bean时出错#0:自动关联依赖项的注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法自动关联字段:private com.company.team.task.taskMonitorImpl com.company.team.teamListingDSTworkflowWorkflow.teamListingDstWorkflowMain.mon;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项类型为[com.company.team.task.taskMonitorImpl]的匹配bean:应至少有1个bean符合此依赖项的autowire候选项的条件。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}
位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor.postProcessPropertyValues(AutoWiredNotationBeanPostProcessor.java:288)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:585)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139)
位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)
位于com.company.team.teamListingDstWorkflowMain.teamListingDstWorkflowMain。(teamListingDstWorkflowMain.java:29)
原因:org.springframework.beans.factory.beancreation异常:无法自动关联字段:private com.company.team.task.taskMonitorImpl com.company.team.teamlistingdstworflow.teamlistingdstworflowmain.mon;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:未找到依赖项类型为[com.company.team.task.taskMonitorImpl]的匹配bean:应至少有1个bean符合此依赖项的autowire候选项的条件。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}
位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject(AutoWiredNotationBeanPostProcessor.java:508)
位于org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor.postProcessPropertyValues(AutoWiredNotationBeanPostProcessor.java:285)
... 还有13个
原因:org.springframework.beans.factory.NoSuchBean定义异常:未找到依赖项类型为[com.company.team.task.taskMonitorImpl]的匹配bean:应至少有1个符合此依赖项autowire候选项条件的bean。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.RaiseNouchBeanDefinitionException(DefaultListableBeanFactory.java:924)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:793)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject(AutoWiredNotationBeanPostProcessor.java:480)
... 还有15个
我的问题是:让“重试”起作用


提前感谢。

(1)也许,错误在这里: ApplicationContext ctx=新文件系统XMLApplicationContext(“test.xml”); xxImpl监视器=ctx.getBean(xxImpl.class); ApplicationContext ctx=new ClassPathXmlApplicationContext(“文件:spring配置/unittesting/application config.xml”); 梅因
<aop:config proxy-target-class="true">