Это слишком рискованно, чтобы позвонить в Thread.Stop на Runaway Three Threade Groovyshell?

Я хотел бы добавить Groovy-Shell-Server Наше приложение. В последнее время мы столкнулись с парой производственных вопросов, где вызов внутренней API мог бы иметь ускоренный диагноз или даже предоставить краткосрочное исправление. Groovy-Shell-Server предоставляет хороший способ достичь этого.

Но на самом деле использование этого в производстве представляет потенциальное осложнение. Скажем, что, несмотря на тщательный обзор сверстников, мы выполняем сценарий, который привязывает ЦП или застрял в бесконечной цикле. Мне нужен способ убить эту нить, Pronto! Поэтому я думал о расширении Groovy-Shell-Server для поддержки дополнительной жесткой остановки () бегущего потока Crovy Client.

Я знаю, что Thread.Stop () по своей природе небезопасно ; Это было , обсуждалось на Stackoverflow до . Мой вопрос в том, что вы думаете, что преимущества могут перевесить риски в этом случае? Использует Thread.Stop () прагматичный выбор как своего рода «аварийный тормоз» для резервного потока сервера Runaway GroovyShell? Или вероятность того, что оставив объекты в непоследовательном состоянии слишком высоки?

(поочередно, если кто-то имеет лучший способ предоставить программную, прерываемым Доступ к бегущему приложению Java, я все уши. )

5
задан Community 23 May 2017 в 09:59
поделиться