之前在struts2和spring的配置下写过。相比之下struts1的要简单些
1.先来一个线程类
@SuppressWarnings("unchecked")
public class WarmingThread extends Thread {
/**
* 检查 第三方信控业务申请表 中的可订购量与阀值
*/
@SuppressWarnings("unchecked")
public void run() {
while (true) {
try {
这里写你的业务代码
sleep(24 * 60 * 60 * 1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2.写一个继承plugin的类,在这里的初始化方法里启动上面的线程类
package com.scitel.vmss.Util;
import java.util.Timer;
import javax.servlet.ServletException;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
import com.scitel.vmss.threads.WarmingThread;
public class InitPlugIns implements PlugIn {
private Timer timer1 = new Timer();
public InitPlugIns() {
super();
}
public void destroy() {
timer1.cancel();
}
public void init(ActionServlet servlet, ModuleConfig arg1)
throws ServletException {
try {
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
new WarmingThread().start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3.最后是配置
<struts-config>
<!-- ======== Form Bean Definitions =================================== -->
<form-beans></form-beans>
<!-- ========== Global Forward Definitions ============================== -->
<global-forwards>
<forward name="login" path="/login.do?method=login"
contextRelative="true" />
</global-forwards>
<!-- ========== Action Mapping Definitions ============================== -->
<action-mappings></action-mappings>
<!-- ========== RequestPorcessor Definitions =========================== -->
<controller contentType="text/html; charset =GBK" locale="true"
nocache="true"
processorClass="com.biaoqi.ibs.base.IBSRequestProcessor" />
<!-- ========== Message Resources Definitions =========================== -->
<message-resources
parameter="com.biaoqi.ibs.resource.ApplicationResources" />
<message-resources key="systemBundle"
parameter="com.biaoqi.ibs.resource.SystemResources" />
<message-resources key="exceptionBundle"
parameter="com.biaoqi.ibs.resource.ExceptionResources" />
<!-- ========== PlugIn Definitions =========================== -->
<plug-in className="com.scitel.vmss.Util.InitPlugIns"></plug-in>
</struts-config>
这样只要你的tomcat启动了,每天都会执行你的业务代码
3.最后是配置
4.对于sevlet和线程池,则不能启用以上方法,因为拿不到线程池。同上需要写一个线程,将线程的调度写在一个servlet的init方法里。然后在配置这个servlet时加上<load-on-startup>1</load-on-startup>,如下配置
<servlet>
<servlet-name>MmsWoServlet</servlet-name>
<servlet-class>
show.MmsWoServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<load-on-startup>中的数字代表启动级别