Вопрос

Мне нужен метод, который вызывался бы на сервере приложений (Glassfish) каждые 5 секунд, несмотря ни на что.Достаточно ли надежны таймеры для этого?Какие у меня есть варианты?

Это было полезно?

Решение

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

Это базовая ОС, а не Java.

Изменить.

При этом ... вы действительно имеете в виду " 5 секунд точно " или через несколько миллисекунд будет работать? Если спустя несколько миллисекунд сработает, то таймер подойдет Возможно, что иногда это «несколько миллисекунд» однако может быть несколько сотен, в зависимости от того, что происходит в системе (ОС, а также такие вещи, как сборка мусора в виртуальной машине).

Другие советы

Да, посмотрите на использование quartz api, это единственный бесплатный API планирования корпоративных классов для java, о котором я знаю. http://www.quartz-scheduler.org/

В настоящее время я использую его в большом кластеризованном финансовом приложении.Документы - это кошмар, но в целом они очень надежны.Это надежный инструмент, который вы собираетесь получить.

карл

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top