EJB или сервлет - как добавить «коммутатор Kill», чтобы заставить процесс / поток остановиться

StackOverflow https://stackoverflow.com/questions/3283768

  •  17-09-2020
  •  | 
  •  

Вопрос

Вид открытого вопроса, который я работаю в то время от времени - если у вас есть данные о состоянии EJB или без природы, или, возможно, процесс прямого сервлета, который может с неправильными параметрами начать работать долго на производственную систему, какМожете ли вы эффективно добавить в руководстве «Убить коммутатор» для администратора / человека, чтобы конкретно убить этот нить / процесс?

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

Решение

Вы не можете, или, по крайней мере, вы не должны, вмешиваться в резьбы сервера приложений напрямую.Таким образом, «выключатель убийств» выглядит окончательно неуместно для меня в среде Java EE.

Я делаю, однако понимаю проблему, которую вы имеете, но предположили бы предложить асинхронный подход, в котором вы разделяете работу в меньшую работу.

Я сделал это, используя таймеры EJB и был доволен результатом: исходный таймер создается для первого рабочего блока.Когда приложение.Сервер выполняет таймер, он затем регистрируюсь вторым, который соответствует 2 -мерному рабочему модулю и т. Д. Информация может быть передана образу от одного рабочего блока на другую, потому что таймеры EJB поддерживают хранилище пользовательской информации.Кроме того, выполнение и регистрация таймера является транзакционной, что в порядке, для работы с базой данных.Вы даже можете выключить и перезапустить приложение Sever с таким подходом.Перед каждым рабочим подразделением работали, мы проверили в базе данных, если работа была отменена тем временем.

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