cronTrigger的配置(使用opensymphony quartz)

时间:2011-04-21 09:59:04

标签: java spring quartz-scheduler crontrigger opensymphony

我有一个网络应用程序,每个月都要做一些事情,比如每个月的第一天。

这是一个GWT应用程序,分为4个项目(如果这很重要),我使用Maven(更新了我的pom.xml)添加了这些jar:

opensymphony quartz 1.6.3 公地集合

由于我已经在使用Spring,所以我遵循了本教程(Tutorial in French

并在我的application-context.xml文件中添加了教程中的内容。

在编译时,没问题,但在运行时,我有这个错误:

com.google.gwt.user.client.rpc.StatusCodeException: Error 500 Error creating bean with name 'schedulerFactory' defined in class path resource [application-context.xml]: Cannot resolve reference to bean 'cronTrigger' while setting bean property 'triggers' with key [0];nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cronTrigger' defined in class path resource [application-context.xml]: Error setting property values;nested exception is org.springframework.beans.PropertyBatchUpdateException;nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'cronExpression' threw exception;nested exception is java.text.ParseException: Unexpected end of expression.

它来自哪里?

我的application-context.xml的一部分:

<!-- Configuration du crontrigger -->
<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="cronTrigger" />
        </list>
    </property>
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail">
        <ref local="exampleJob" />
    </property>

    <!-- run every day at 6AM -->
    <property name="cronExpression" value="0 0 6 * * ?" />
</bean>
<bean id="exampleJob" class="org.springframework.scheduling.quartz.JobDetailBean">
    <property name="jobClass" value="fr.web.utils.ExampleJob" />
    <property name="jobDataAsMap">
        <map>
            <entry key="timeout" value="5" />
        </map>
    </property>
</bean>

1 个答案:

答案 0 :(得分:3)

问题是你在Scheduler的触发器cronTrigger中给出了引用,你没有在XML文件中声明它。

提供XML以获得更详细的答案

<强>更新

您的cronExpression似乎无效 0 0 6 * * ? {} {}注明0 0 6 * *  ?

之前的最后一个空格?