方法调用Spring bean

时间:2008-12-05 17:00:34

标签: java spring scheduled-tasks

我在Spring配置中声明了以下bean

<bean id="templateCacheClearingTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
    <property name="delay" value="5000" />
    <property name="period" value="5000" />

    <property name="timerTask">
        <bean class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean">
            <property name="targetObject" ref="templateMailService" />
            <property name="targetMethod" value="clearCache" />
        </bean>
    </property>
</bean>

这应该导致每5000毫秒调用clearCache() bean的templateMailService方法,但似乎没有发生任何事情。我错过了什么吗?

干杯, 唐

1 个答案:

答案 0 :(得分:5)

我认为你需要:

<bean id="timerFactory" class="org.springframework.scheduling.timer.TimerFactoryBean">
  <property name="scheduledTimerTasks">
    <list>
      <ref bean="templateCacheClearingTask"/>
    </list>
  </property>
</bean>

除了你已经拥有的东西。