在SpringBatch中调用cmd,有以下两种常用方法
- 新定义一个Tasklet类,在里面用调用cmd。1
demoTasklet.java
Runtime rt = Runtime.getRuntime();
Process p = rt.exec("cmd.exe /c start demo.bat");
System.out.println(p.toString());
- 通过SpringBatch所提供的自带的Tasklet来调用cmd。
demoJob.xml
<!-- ===================================== -->
<!-- ======== JOB ======== -->
<!-- ===================================== -->
<batch:job id="jobStartCmd">
<batch:step id="jobStartCmdStep">
<batch:tasklet ref="jobStartCmdTasklet"/>
</batch:step>
</batch:job>
<bean id="jobStartCmdTasklet" class="org.springframework.batch.core.step.tasklet.SystemCommandTasklet" scope="step">
<property name="command" value="cmd.exe /c start demo.bat 001"/>
<property name="workingDirectory" value="D:\demo"/>
<property name="timeout" value="1000"/>
</bean>
通过调用SpringBatch框架封装好的SystemCommandTasklet类来调用cmd,上面四个参数中,“command”,“workingDirectory”,"timeout"为必填参数。
下面附上SystemCommandTasklet的源代码,可以看出,通过该方法来执行cmd,实际上也是应用
Runti