- Статьи и примеры
- | Разное полезное
- | Про то, как настроить jboss на выполнение программы в заданное время
- | Про то, как настроить jboss на выполнение программы в заданное время страница 2
Про то, как настроить JBoss на выполнение программы в заданное время Страница 2
Публикуем проект на JBoss
Для этого надо обратить внимание на пару моментов. JBoss уже содержит в себе средство для периодического запуска программ — scheduler-plugin.jar. Чтобы его подключить и настроить сделаем следующие вещи: Подключим интерфейс Schedulable и добавим необходимый метод:
public class CurrencyUpdater implements Schedulable { ... public void perform(Date arg0, long arg1) { try { parseURL(urlCurrrencyString); } catch (IOException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } try { updateCurrencyTableByCurrencyCode(); } catch (SQLException e) { e.printStackTrace(); } }
Добавим schedule-service.xml в META_INF архива ear. В нем как видно прописаны основные настройки сервиса для нашего файла CurrencyUpdater. Назначение их довольно очевидно из названий.
<?xml version="1.0" encoding="UTF-8"?> <server> <mbean code="org.jboss.varia.scheduler.Scheduler" name="acme:service=Scheduler"> <attribute name="StartAtStartup">true</attribute> <attribute name="SchedulableClass">schedule.ejb.CurrencyUpdater</attribute> <attribute name="InitialStartDate">NOW</attribute> <attribute name="SchedulePeriod">60000</attribute> <attribute name="InitialRepetitions">-1</attribute> </mbean> </server>
И последнее добавим туда же jboss-app.xml.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jboss-app PUBLIC "-//JBoss//DTD J2EE Application 4.2//EN" "http://www.jboss.org/j2ee/dtd/jboss-app_4_2.dtd"> <jboss-app> <module> <service>META-INF/schedule-service.xml</service> </module> </jboss-app>
В результате мы получили сервис, который будет стартовать при публикации нашего приложения. Если необходимо сделать глобальную настройку сервера JBoss, тогда файл настройки надо скопировать в папку jboss/server/default/deploy/schedule-service.xml. При этом к моменту чтения этой настройки, JBoss должен видеть класс, который планируется запускать.
Теперь просто запустите сценарий Ant и JBoss. После старта таблица schedule_table сразу же будет обновлена из XML взятого по адресу: urlCurrrencyString = http://localhost:8080/scheduler/currency.xml Несложно догадаться, что если набрать в строке браузера этот адрес, то появиться содержание XML файла.
Файлы, используемые в статье
Страница:
2
Санкт-Петербург Зима 2008