Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Помогите с реализацией планировщика задач на Java


Автор: Shall 23.10.2011, 20:23
Здравствуйте!

Недавно начал изучать Java. Пытаюсь разобраться с тем, как сделать простенький планировщик задач (он же ежедневник/task manager), и столкнулся со следующей проблемой:

У меня есть XML файл, в который я пишу/из которого читаю события, выглядит примерно так:
Код

<eventslist>
    <event>
    <marker>Not end</marker> //Маркер события - наступило/не наступило
    <name>Название</name>
    <description>Описание</description>
    <enddate>10:20:30|22.10.2011</enddate> //Время, дата наступления события
    <contacts>Контакты</contacts>
    </event>
    
    <event>
    <marker>Not end</marker>
    <name>День рожденья друга!</name>
    <description>Нужно купить подарок</description>
    <enddate>17:20:30|23.10.2011</enddate>
    <contacts>drug@ludshii.ru</contacts>
    </event>
         ...
</eventslist>

Данный файл считывается в Двусвязный список, с которым уже взаимодействует пользователь (удаляет/добавляет/изменяет и т.п.). После завершения работы программы список опять перезаписывается в тот же файл.

Теперь суть проблемы - нужно организовать класс, который, пока работает программа, будет просматривать события данного списка и, если дата события равна текущей дате, выводить сообщение пользователю, в духе "Событие XXX наступило! Описание: xxxxxxx и т.п."

В общем не знаю я, как отлавливать наступление даты запланированного события... по большому счету нужен цикл/таймер, который каждую минуту проверяет.. Уже весь рунет и интернет облазил... smile  Нашел Quartz, Cron, Timer, TimerTask, но как в моем случае применить их и/или какой лучше использовать, тоже не разобрался..

Например абстрактный класс TimerTask вроде подходит, можно вызвать метод schedule(), но как передать его же методу run() объект, в котором содержится описание и название события для вывода сообщения я не понял..

Код писать не прошу (хотя было бы неплохо smile ), хотя бы скажите какой класс для этого предназначен, куда мне копать smile

Автор: jk1 23.10.2011, 23:07
http://forum.vingrad.ru/forum/topic-336603/kw-%D0%97%D0%B0%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0-%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F.html недавно обсуждались таймеры. А Qartz Вам не нужен, это как из пушки по воробьям.

Автор: Shall 24.10.2011, 18:47
Цитата(jk1 @ 23.10.2011,  23:07)
http://forum.vingrad.ru/forum/topic-336603/kw-%D0%97%D0%B0%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0-%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F.html недавно обсуждались таймеры. А Qartz Вам не нужен, это как из пушки по воробьям.

Хотелось бы более конкретный пример, там не совсем то, что мне нужно.. Ладно, попробую по этому примеру сотворить обработчик под свои нужды. Спасибо smile

Пока тему не хотелось бы закрывать, может предложат более подходящий вариант решения...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)