Таймеры запуска в Java - PullRequest
0 голосов
/ 26 февраля 2009

Я хочу, чтобы определенный фрагмент кода был выполнен через 5 минут. Как я могу сделать это с помощью Java?

        out.println("<HTML>");
        out.println("<head>");
        //out.println("<frame>");
        out.println("<frameset rows=\"80%, *\" frameborder=\"0\" border=\"0\" framespacing=\"0\">");
       out.println("<frame src=\"DataCenterImage.html\" target=\"DisplayFrame\">"); 
       //out.println("Hai");
        out.println("<frame src= \"unlock.html\" target=\"DisplayFrame\">"); 
        out.println("</frameset>");
        out.println("</head>");
        out.println("</HTML>");

Я хочу, чтобы вышеперечисленное было оправдано через 15 минут.

Ответы [ 3 ]

3 голосов
/ 26 февраля 2009

В Java 1.5 и выше вы можете использовать пакет java.util.concurrent

ScheduledExecutorService scheduler = Executors.newSingleThreadedScheduledExecutor();
ScheduledFuture<?> f = scheduler.schedule(new Runnable() {
    public void run() {
        //Code to be executed here
    }
}, 15L, TimeUnit.MINUTES);

Вы можете отменить выполнение следующим образом:

f.cancel(false);
1 голос
/ 26 февраля 2009

Каркас Кварц также может быть полезен для вас.

С их сайта:

Quartz - это полнофункциональная система планирования заданий с открытым исходным кодом, которую можно интегрировать или использовать практически с любым приложением J2EE или J2SE - от самого маленького автономного приложения до крупнейшей системы электронной коммерции. Кварц можно использовать для создания простых или сложных графиков выполнения десятков, сотен или даже десятков тысяч заданий; задания, задачи которых определены как стандартные компоненты Java или EJB. Кварцевый планировщик включает в себя множество функций корпоративного класса, таких как транзакции JTA и кластеризация.

Я много использовал это для составления расписаний в различных типах приложений и был очень доволен этим.

0 голосов
/ 26 февраля 2009

Вы можете использовать:

Thread.sleep(900000);
execute code...

Метод sleep () принимает миллисекунды в качестве аргументов, поэтому огромное количество за ваши 15 минут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...