大家好,小问来为大家解答以上问题。java语言代码例子,java语言代码大全这个很多人还不知道,现在让我们一起来看看吧!
1、写一个servlet 侦听器,在servlet 初始化时,就开始定时任务。
2、我写个简单定时备份数据库的例子供参考:TaskManager.javaimport java.util.Timer;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class TaskManager implements ServletContextListener {//每天的毫秒数private static final long PERIOD_DAY=DateUtils.MILLIS_IN_DAY;//无延迟private static final long NO_DELAY=0;//定时器private Timer timer;//Web应用结束时停止任务public void contextDestroyed(ServletContextEvent arg0) {timer.cancel();}//Web应用启动时初始化任务public void contextInitialized(ServletContextEvent arg0) {timer=new Timer("数据库备份",true);//启动任务备份timer.schedule(new BackUpTableTask(),NO_DELAY,10000);}}DateUtils.javapublic interface DateUtils {public static final long MILLIS_IN_DAY=17*60*60*1000;public static final String BACK_NAME="c:\test.bak";}BackUpTableTask.javaimport java.util.*;import java.io.IOException;import java.sql.*;public class BackUpTableTask extends TimerTask {private static boolean isRun=false;@Overridepublic void run() {if(!isRun){Calendar c=Calendar.getInstance();if("17:48".equals(c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE))){isRun=true;try {Connection con=DBConnection.getConnection();Statement stmt=con.createStatement();stmt.executeUpdate("backup database test to disk=+DateUtils.BACK_NAME+");} catch (NumberFormatException e) {// TODO 自动生成 catch 块e.printStackTrace();} catch (IOException e) {// TODO 自动生成 catch 块e.printStackTrace();} catch (SQLException e) {// TODO 自动生成 catch 块e.printStackTrace();}isRun=false;}}else{System.out.println("上次任何还未执行完成....");}}}。
以上就是【java语言代码例子,java语言代码大全】相关内容。