2015-04-07 1 views
-2

У меня есть требование отправить сообщение SOAP на множество устройств каждый день в определенное время. Я получаю время от параметра tomcat в web.xml. Что-то вроде;Запуск веб-службы в определенное время суток EveryDay (получить время из параметров Tomcat)

<context-param> 
    <param-name>DailyTime</param-name> 
    <param-value>04:00</param-value> 
</context-param> 

Я должен создать отдельный поток, который отправляет сообщения. Время будет в 24-часовом формате.

Проблема в том, что в качестве стартера я понятия не имею, с чего начать или как это сделать. Можете ли вы, ребята, указать мне в правильном направлении или дать мне несколько советов, которые мне очень помогут.

Thank you Everyone :)

ответ

0

У вас есть несколько вариантов. В прошлом я использовал большинство:

1) Запланируйте задание cron, которое вы хотите выполнить в нужное вам время, и попросите его вызвать исполняемый java-файл/jar-файл.

2) Используйте библиотеку планировщика как Quartz

Что касается № 1 - это предполагает, что вы используете систему * Nix. Если вы используете Windows, вы можете планировать задачи через Task Scheduler.

Что касается № 2 - это дает вам большую гибкость при выполнении задания/задания. Например, вы можете планировать выполнение задания каждые 1 минуту, но не запускать новое задание до завершения любого существующего задания.

Анекдотное замечание из версии Quartz circa 2006 - на WebSphere, похоже, что мои задания кварца выполнялись какими-то фоновыми потоками, которые заставляли работу занимать часы, которые должны были занимать всего несколько секунд. Но это было почти десять лет назад, и, безусловно, кварц (и, надеюсь, websphere) значительно улучшился.