配置文件:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<!-- 本地应用 -->
    <bean id="JobInfo" class="com.spnc.agri.web.webwork.action.JobInfoAction">
</bean>
     <!-- 定时器 -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
   <property name="targetObject" ref="JobInfo" /> 
   <property name="targetMethod" value="senddoublelist"/>   
   <property name="concurrent" value="false" /> 
</bean>
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<property name="cronExpression" value="0 15 16 * * ?" />
</bean>

<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list> 
<ref bean="cronTrigger" />
</list>
</property>
</bean>
</beans>
要执行的方法
public String senddoublelist() {
System.out.println("开始执行!!!");
Map filterMap0 = new HashMap();
filterMap0.put("status", "0");
joblist = jobInfoManager.findAllBy(filterMap0);}
在执行到joblist=joblist = jobInfoManager.findAllBy(filterMap0);}
时报错
错误如下:
[org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob] [WARN] Could not invoke method 'senddoublelist' on target object [com.spnc.agri.web.webwork.action.JobInfoAction@bb1ee]
java.lang.NullPointerException
at com.spnc.agri.web.webwork.action.JobInfoAction.senddoublelist(JobInfoAction.java:925)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:270)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:199)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:90)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)

解决方案 »

  1.   

    Could not invoke method 'senddoublelist' on target object我们也用到这个了,我觉得<property name="cronExpression" value="0 15 16 * * ?" /> 
    你的问题在这里,我觉得正确的写法应该是<property>
     <value>0 15 16 * * ?</value></property>别的地方也没问题,今天才看见,不知道对你还有没有帮助
      

  2.   

    与配置无多大关系,问题出在你的方法里,抛空值异常啊:java.lang.NullPointerException 
    好好查下哪里会出现空值,而不处理就调用了啊,如 joblist = jobInfoManager.findAllBy(filterMap0);
    若jobInfoManager为空时,调用jobInfoManager.findAllBy()方法就肯定抛NullPointerException 
      

  3.   

    java.lang.NullPointerException 空指针了,调试看看你的com.spnc.agri.web.webwork.action.JobInfoAction.senddoublelist(JobInfoAction.java:925) 这个方法那里了空了