2011-04-21 64 views
2

我有一個web應用程序必須做每件事情,讓我們說每個月的第一天。配置的cronTrigger(與opensymphony石英)

這是一個GWT應用程序分爲4個項目(如果曾經事項)和我使用Maven(其中更新了我的pom.xml)添加了這些罐子:

OpenSymphony的石英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. 

它從何而來?

我的應用程序的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> 

回答

3

的問題是你給了在計劃的觸發cronTrigger參考你有沒有在XML文件中聲明。

進行更詳細的解答提供XML

更新

你cronExpression不似乎是有效 0 0 6 * * ??

+0

那麼沒有錯誤再讓它0 0 6 * *  ?注意最後一個空格。謝謝 !但是,你能解釋一下我和你的表情之間的區別嗎? – l0r3nz4cc10 2011-04-21 10:23:08

+0

你的表情不僅僅是遵循語法。它應該由空間分隔。請參見[* Cron-Expressions用於配置CronTrigger的實例。 Cron-Expressions是由七個子表達式組成的字符串,它們描述了計劃的各個細節。這些子表達式用空白*]分隔(http://www.quartz-scheduler.org/docs/tutorial/TutorialLesson06.html) – 2011-04-21 10:26:43