我写了一个java程序(有main函数的那种),我现在想让这个程序每天定时自动运行一遍,望高手指点。。。
3个回答
展开全部
这是不可能实现的。程序不运行,你那定时定在那,有什么去识别。所以好好写程序,不要乱想。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把程序编译过,打成jar包,然后利用WINDOWS的计划任务不就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这里,会用到java的Timer和TimerTask两个类。
下面我写的,你研究下,希望给你提示。
package cn.zkatm.test;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import cn.zkatm.domain.HistorySensorValuePerHour;
import cn.zkatm.util.FunUtil;
import cn.zkatm.util.JDBCTemplate;
public class TestMain4 {
JDBCTemplate<HistorySensorValuePerHour> template =new JDBCTemplate<HistorySensorValuePerHour>();
private String sql="insert into tblHistorySensorValuePerHour values(?,? ,?,'28652',5);";
private int hour=1;
public static void main(String[] args) {
TestMain4 testM=new TestMain4();
TimeTasks tasks =testM.new TimeTasks();
Timer timer =new Timer();
timer.schedule(tasks, new Date(), 1000);
}
class TimeTasks extends TimerTask{
@Override
public void run() {
synchronized (this) {
Date zeroDate=FunUtil.getZeroHourDate();
Calendar cal=Calendar.getInstance();
cal.setTime(zeroDate);
if( hour<24){
cal.set(Calendar.HOUR_OF_DAY, hour);
//Long time=(new Date().getTime())/1000;
Long time=(cal.getTime().getTime())/1000;
Object[] params={"1001","10010043",time,};
//Object[] params={"1001","10010042",time};
template.executeDML(sql, params);
hour++;
}else{
System.exit(0);
}
}
}
}
}
下面我写的,你研究下,希望给你提示。
package cn.zkatm.test;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import cn.zkatm.domain.HistorySensorValuePerHour;
import cn.zkatm.util.FunUtil;
import cn.zkatm.util.JDBCTemplate;
public class TestMain4 {
JDBCTemplate<HistorySensorValuePerHour> template =new JDBCTemplate<HistorySensorValuePerHour>();
private String sql="insert into tblHistorySensorValuePerHour values(?,? ,?,'28652',5);";
private int hour=1;
public static void main(String[] args) {
TestMain4 testM=new TestMain4();
TimeTasks tasks =testM.new TimeTasks();
Timer timer =new Timer();
timer.schedule(tasks, new Date(), 1000);
}
class TimeTasks extends TimerTask{
@Override
public void run() {
synchronized (this) {
Date zeroDate=FunUtil.getZeroHourDate();
Calendar cal=Calendar.getInstance();
cal.setTime(zeroDate);
if( hour<24){
cal.set(Calendar.HOUR_OF_DAY, hour);
//Long time=(new Date().getTime())/1000;
Long time=(cal.getTime().getTime())/1000;
Object[] params={"1001","10010043",time,};
//Object[] params={"1001","10010042",time};
template.executeDML(sql, params);
hour++;
}else{
System.exit(0);
}
}
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |