今天在做一个项目的时候,要给一个定时器任务的执行方法传递参数,在网上找了一下资料,可以使用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]); } }