2015-01-16 3 views
1

Я заметил в своей среде разработки (Netbeans и Glassfish), что запланированные задачи, созданные ManagedScheduledExecutorService, не выдерживают перезагрузки сервера.Устранены ли проблемы с ManagedScheduledExecutorService при перезагрузке или сбое сервера?

Я делаю что-то неправильно или это значит работать так?

ответ

-1

Если JVM отключается из-за перезагрузки/сбоя сервера, задачи также исчезли. Вот как это должно работать. Вам нужно будет найти способ постоянного хранения информации и воссоздать задачи при запуске.

+0

Альтернативой может быть использование службы таймера вместо службы-исполнителя, но в этом случае я не уверен, что можно запустить несколько рабочих потоков. Я прочитал, что задачи Timer Service запланированы в одном потоке. Или возможно иметь пул потоков также для службы таймера? – Jojo

+0

это будет другим вопросом. они будут удалены после перезагрузки сервера. –

+0

Извините, если я должен вас исправить, это неправда. Они переживают перезапуск, но не перераспределение. Из учебника Java EE: 'Таймеры по умолчанию постоянны. Если сервер выключен или сбой, сохраняются постоянные таймеры и снова активируются при перезапуске сервера. Если постоянный таймер истекает, пока сервер не работает, контейнер будет вызывать метод @Timeout при перезапуске сервера. ' – Jojo

Смежные вопросы