Демон в Java: простое приложение по расписанию? - PullRequest
2 голосов
/ 01 марта 2010

Это приложение должно выполнять подключение к веб-службе, захватывать данные, сохранять их в базе данных. Каждый час 24/7. Какой самый эффективный способ создать такое приложение в Java?

Как его запустить - как системное приложение или как веб-приложение?

Ответы [ 6 ]

7 голосов
/ 01 марта 2010

Будьте проще: используйте cron (или планировщик задач)

Если это все, что вы хотите сделать, а именно проверять какой-либо веб-сервис раз в час, сделайте это как консольное приложение и запустите с помощью cron.

Приложение, которое запускается и останавливается каждый час

  • не может утечь ресурсы
  • не может зависнуть (может быть, вы потеряете один цикл)
  • потребляет 0 ресурсов в 99% случаев
2 голосов
/ 01 марта 2010

Попробуйте ScheduledExecutorService .

2 голосов
/ 01 марта 2010

посмотрите на кварц, его библиотека планирования в Java. у них есть пример кода, чтобы вы начали. вам понадобится это и драйвер JDBC для выбранной вами базы данных. веб-контейнер не требуется - это легко сделать с помощью отдельного приложения

0 голосов
/ 02 марта 2010

Создайте веб-страницу и запланируйте ее выполнение с помощью одного из многочисленных онлайн-сервисов планирования.Большинство из них бесплатны, очень просты в использовании и очень надежны.Некоторые позволяют создавать расписания любой сложности, например, в cron, пользовательском интерфейсе заданий SqlServer и т. Д. Экономит массу головной боли, создавая / отлаживая / поддерживая собственный механизм планирования, даже если он основан на некоторой инфраструктуре, такой как Ncron, Quartz и т. Д.Я говорю из собственного опыта.

0 голосов
/ 01 марта 2010

Если вы намереваетесь сделать это в Java, простого таймера будет более чем достаточно.

0 голосов
/ 01 марта 2010

Почему бы не использовать cron для запуска приложения Java каждый час? Не нужно впитывать ресурсы сервера, поддерживая Java-приложение активным, если в остальное время оно ничего не делает, просто запустите его при необходимости,

...