我有一个测试Web服务的应用程序。我想每天下午6点运行此应用程序。
我想知道是否可以自动执行 ?
*有关信息:此应用程序是使用Java,JUnit参数化测试,maven ......开发的, 操作系统:Windows 7 *
答案 0 :(得分:6)
您可以在Windows中创建 schedule task ,在UNIX中创建 cron job ,以触发测试Web服务的应用程序。
答案 1 :(得分:2)
你可以做这样的事情
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int delay = hour < 18 ? 18-hour : 18- (hour-18);
System.out.println("Current Hour : "+hour+"\t"+"Delay For Next Mail: "+delay);
executor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println("run invoked");
//do something
}
}, delay , 24, TimeUnit.HOURS);
如果服务器已启动并正在运行。
首先创建一个ScheduledExecutorService
的实例,它提供方法
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command,
long initialDelay,
long period,
TimeUnit unit);
相应地计算延迟,期间和TimeUnit以及要执行的任务