每天自动运行应用程序

时间:2014-08-08 14:21:35

标签: java maven parameterized

我有一个测试Web服务的应用程序。我想每天下午6点运行此应用程序

我想知道是否可以自动执行

*有关信息:此应用程序是使用Java,JUnit参数化测试,maven ......开发的,   操作系统:Windows 7  *

2 个答案:

答案 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以及要执行的任务