今天在做一个项目的时候,要给一个定时器任务的执行方法传递参数,在网上找了一下资料,可以使用arguments参数:
 
 <bean id="subsidyJobDetail"  
 class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
       <property name="targetObject" ref="subsidyJob" />  
       <property name="targetMethod" value="execute" />  
       <property name="concurrent" value="false" />  
       <property name="arguments" value="argsValue"/>
  </bean>  

 

 
可以通过arguments 参数给targetMethod方法传递参数,
 
public class SubsidySchemeJob  {  
    public void execute(String args) {  
       System.out.println("方案开始执行"+args);  
    }  
}  

  

在execute方法中就可以获得参数;
 
如果需要传递多个多个参数,在xml中用list配置:
<property name="arguments">
   <list>
       <value>arg1</value>
       <value>arg2</value>
   </list>
</property>

 

 
在方法中用数组获取:
public class SubsidySchemeJob  {  
    public void execute(String args[]) {  
      System.out.println("方案开始执行,参数1:"+args[0] +"参数2:" + args[1]);  
    }  
}