spring 配置文件<bean name="timerExpired" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass"
value="com.clubgold.btg.sft.util.article.TimerExpired" />
<property name="jobDataAsMap">
<map>
<entry key="articleManagerService">
<ref bean="articleManagerService"/>
</entry>
</map>
</property>
</bean> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="timerExpired" />
<property name="cronExpression" value="0 0 0 * * ?" />
</bean> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<!-- see the example of method invoking job above -->
<property name="jobDetail" ref="timerExpired" />
<!-- 10 seconds -->
<property name="startDelay" value="10000" />
<!-- repeat every 50 seconds -->
<property name="repeatInterval" value="10000" />
</bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
<ref bean="cronTrigger" />
</list>
</property>
</bean>simpleTrigger是我要进行测试的定时器
cronTrigger才我是需要用到的定时器测试用的是10秒一次,但我在代码里打印或设置段点,但都不行,不知道为什么
cronTrigger是我所需要的定时器,设置的时间是每天深夜0点,不知道这样设置对吗还有jobDataAsMap的这个设置,是否能自动的注入到TimerExpired类里面的articleManagerService属性中?public class TimerExpired extends QuartzJobBean {    protected final Log log = LogFactory.getLog(getClass());
    
    private ArticleManagerService articleManagerService;
    
    public ArticleManagerService getArticleManagerService() {
        return articleManagerService;
    }    public void setArticleManagerService(ArticleManagerService articleManagerService) {
        this.articleManagerService = articleManagerService;
    }    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {

try {
    articleManagerService.articleDateSet();
    log.info("TimerExpired begin");
} catch (SFTException e) {
    e.printStackTrace();
    log.error(e.getMessage());
}
    }
    
}

解决方案 »

  1.   

    你得把com.clubgold.btg.sft.util.article.TimerExpired这个类也注入啊!
      

  2.   

      <bean id="timerExpired"   class="com.clubgold.btg.sft.util.article.TimerExpired">
     </bean>
      

  3.   

    这个不难吧,为什么没有人回答呢?我现在这样配置了,但是代码没有跑起来,这是为什么啊,是不是还要到别的地方进行配置啊前面几位好兄说的方法不好用,这个不用在声明一个BEAN,而且网上的例子也全部都不用声明的啊
      

  4.   

    你应该分解你的步骤:
                <list>
                    <ref bean="simpleTrigger" />
                    <ref bean="cronTrigger" />
                </list>先注释一个。保留一个simple的 。同时对:
          <property name="jobDataAsMap">
                <map>
                    <entry key="articleManagerService">
                        <ref bean="articleManagerService"/>
                    </entry>
                </map>
            </property>进行注释 ,然后运行如果最基本的打印输出都没有 那么你就可以一点一点的排除错误,直到解决为止。