Как установить логику обработки сигналов, если доступно sun.misc.Signal
?
Фон
Первое поколение моего кода, которое предполагало доступность обработки сигналов, выглядело примерно так:
class MyApp {
public static void main(String[] args) {
...
Signal.handle(term_sig, new SignalHandler() {
public void handle(Signal sig) { ... }
});
...
}
}
Мне кажется, я понимаю, как рефлексивно проверять и использовать обработчики сигналов - Class.forName("sun.misc.Signal")
, рефлексивно вызывать Signal.handle
и т. Д.
Моим импульсом было просто создать другой анонимный внутренний класс с динамически полученным классом SignalHandler
, но я думаю, что это просто желательный синтаксис.