org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cronTriggerBean' defined in ServletContext resource [/WEB-INF/config/crontabServiceContext.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: '?' can only be specfied for Day-of-Month or Day-of-Week.
Caused by: 
org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.MethodInvocationException: Property 'cronExpression' threw exception; nested exception is java.text.ParseException: '?' can only be specfied for Day-of-Month or Day-of-Week.
Caused by: 
java.text.ParseException: '?' can only be specfied for Day-of-Month or Day-of-Week.
at org.quartz.CronExpression.storeExpressionVals(CronExpression.java:552)
at org.quartz.CronExpression.buildExpression(CronExpression.java:430)
at org.quartz.CronExpression.<init>(CronExpression.java:255)
at org.quartz.CronTrigger.setCronExpression(CronTrigger.java:460)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:821)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1127)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:424)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2012-7-13 11:18:06 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cronTriggerBean' defined in ServletContext resource [/WEB-INF/config/crontabServiceContext.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: '?' can only be specfied for Day-of-Month or Day-of-Week.
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.MethodInvocationException: Property 'cronExpression' threw exception; nested exception is java.text.ParseException: '?' can only be specfied for Day-of-Month or Day-of-Week.
Caused by: java.text.ParseException: '?' can only be specfied for Day-of-Month or Day-of-Week.
at org.quartz.CronExpression.storeExpressionVals(CronExpression.java:552)
at org.quartz.CronExpression.buildExpression(CronExpression.java:430)
at org.quartz.CronExpression.<init>(CronExpression.java:255)
at org.quartz.CronTrigger.setCronExpression(CronTrigger.java:460)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:821)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1127)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:424)

解决方案 »

  1.   

    问题还是很明显的
    Error creating bean with name 'cronTriggerBean' defined
    不能创建cronTriggerBean,楼主应该是用了quartz
    为什么创建失败了,看这句
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'cronExpression' threw exception; nested exception is java.text.ParseException: '?' can only be specfied for Day-of-Month or Day-of-Week.
    说明cronExpression设置错误,没按照quartz规范
      

  2.   

    quartz有一套专门定义执行时间的表达式,你看下你设置的表达式是什么样的,然后在找份quartz的文档,对比下它设置的表达式,这不OK了吗,兄弟
      

  3.   

    你设置的表达式不对 
    <bean id="timerJobForCenter" class="org.springframework.scheduling.quartz.JobDetailBean">
    <property name="jobClass">
    <value>com.tbtx.manage.taocodeserver.action.TimerJobForCenterAction</value>
    </property>
    <property name="jobDataAsMap">
    <map>
    <entry key="timerJobService">
    <ref bean="timerService" />
    </entry>
    </map>
    </property>
    </bean>
     <bean id="cronReportTriggerForCenter" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="timerJobForCenter" />
    <property name="cronExpression">
    <value>20 * * * * ?</value>
    </property>
    </bean>  <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
    <list>
    <ref bean="cronReportTriggerForOrders" />
      </list>
    </property>
    </bean> <bean id="timerService"
    class="com.tbtx.manage.taocodeserver.service.impl.TimerJobServiceImpl">

    <property name="centerDAO" ref="taocodeServerCenterDAO" />
    </bean>
      

  4.   

    参考http://www.blogjava.net/javainthink/archive/2006/10/19/76077.html
      

  5.   

    <bean name="reportJbo"
    class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="DBBureauPassedEleStatementsService" />
    <property name="targetMethod" value="dbBureauPassedEleStatementsCrontab" />
    </bean> <bean name="cronTriggerBean"
    class="org.springframework.scheduling.quartz.CronTriggerBean">
    <!--这里定义定时任务的对象的位置 -->
    <property name="jobDetail" ref="reportJbo" />
    <property name="cronExpression">
    <!-- 每周一0点10分0秒开始统计 -->
    <value>00 10 00 * * 1 ?</value>
    </property> </bean>
    <!-- 启动任务 -->
    <bean name="schedulerFactoryBean"
    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
    <list>
    <ref bean="cronTriggerBean" />
    </list>
    </property>
    </bean>
    大家帮看下那里有问题!!不胜感激!!!想要设置的是每周一零点过十分!
      

  6.   

    0 10 0 ? * MON *
      

  7.   

    0 10 0 ? * MON *