我写了一个java程序(有main函数的那种),我现在想让这个程序每天定时在服务器自动运行 ,望高手指点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我写了一个java程序(有main函数的那种),我现在想让这个程序每天定时在服务器自动运行 ,望高手指点相关的知识,希望对你有一定的参考价值。
这个Mian函数需要连接数据库,所以我把数据库和驱动打包成了jar包,那在服务器上怎么定时运行这个jar包呢
开始->程序->附件->系统工具->任务计划->选择添加任务计划->点击下一步->点击(浏览),找到你想定时执行的class文件,一步一步完成,相信你能看懂的,前提要配置好classPath 参考技术A 使用了Java,Timer和TimerTask类。我写了下面,你的研究,我们希望能够给你的提示。
包cn.zkatm.test
进口的java.util.Calendar;
进口的java.util.Date;
进口java.util.Timer; />进口java.util.TimerTask;
进口cn.zkatm.domain.HistorySensorValuePerHour
进口cn.zkatm.util.FunUtil;
进口cn.zkatm.util。 JdbcTemplate的;
的公共类TestMain4
JdbcTemplate的模板=新:JdbcTemplate中();
私有String SQL =“插入到tblHistorySensorValuePerHour值?(???,'28652',5);“;
私人诠释小时= 1;
公共静态无效的主要(字符串[参数)
TestMain4 TESTM =新TestMain4();
TimeTasks任务testM.new TimeTasks();
定时器定时器=新的Timer();
timer.schedule(任务,新的日期(),1000);
的类TimeTasks扩展TimerTask的
@覆盖
公共无效的run() / a>
同步()
日期zeroDate FunUtil.getZeroHourDate();
日历CAL = Calendar.getInstance();
CAL 。使用setTime(zeroDate);
(<24小时)
cal.set(Calendar.HOUR_OF_DAY小时);
/ /很长一段时间=(新的日期()。的getTime())/ 1000;
龙时间=(cal.getTime()。的getTime())/ 1000;
对象[]#= “1001”,“10010043”,时间,;
/ /对象[]#= “1001”,“10010042”,;
template.executeDML(SQL参数);
小时+ +;
System.exit(0);
本回答被提问者和网友采纳 参考技术B while(true)
while(time==?)
//代码
参考技术C 建议你使用定时器去执行这个程序..追问
不知道怎样用定时器啊
Java:使用junit进行代码测试
我写了一个时间工具类 DateTimeUtil, 里边有一个格式化为字符串的方法
现在我写了一个main函数来测试这个方法
package com.example;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeUtil
/**
* 时间对象格式化为字符串
*
* @param date
* @return
*/
public static String toDateString(Date date)
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(date);
public static void main(String[] args)
Date now = new Date();
String nowString = DateTimeUtil.toDateString(now);
System.out.println(nowString);
// 2023-02-16
如果,我在这个工具类中多增加几个方法,那么main方法的代码就需要来回改动
这时候可以借助IDE和测试类来实现多个方法的测试
使用junit
文档
依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
maven 项目结构
$ tree
.
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── DateTimeUtil.java
│ └── resources
└── test
├── java
│ └── com
│ └── example
│ └── DateTimeUtilTest.java
└── resources
DateTimeUtil.java
package com.example;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTimeUtil
/**
* 时间对象格式化为字符串
*
* @param date
* @return
*/
public static String toDateString(Date date)
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(date);
DateTimeUtilTest.java
package com.example;
import org.junit.Test;
import java.util.Date;
public class DateTimeUtilTest
@Test
public void toDateString()
Date now = new Date();
String nowString = DateTimeUtil.toDateString(now);
System.out.println(nowString);
// 2023-02-16
注意:测试类的命名规则:xxxTest.java
这样依赖,代码看起来就干净整洁了
使用命令行运行测试
$ mvn test
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.example.DateTimeUtilTest
2023-02-16
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.059 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
以上是关于我写了一个java程序(有main函数的那种),我现在想让这个程序每天定时在服务器自动运行 ,望高手指点的主要内容,如果未能解决你的问题,请参考以下文章
vs2010中写c#,写了很多类,想在类里面添加main()做函数入口测试,但不能单独运行这个类
eclipse运行配置怎么设置?尤其是那个Main类,我写了包含main方法的类名,运行后系统说找