Я пишу Java-клиент, который теоретически может быть использован в другой среде: main () Java, в контейнере сервлета или через внедрение зависимостей.
Клиент реализует пул потоков внутреннего соединения.
Проблема с этим подходом заключается в том, что пользователи клиента, которые не знают о том, что реализован внутренний пул потоков, увидят, что его или ее приложение "зависло" при завершении работы. Мои пользователи должны знать, чтобы отправить сообщение shutdown () в библиотеку.
Мне интересно, можно ли использовать какой-либо другой альтернативный подход, который, с одной стороны, позволил бы мне запустить пул потоков для моих соединений; и, с другой стороны, перехватить какое-то событие, возможно, событие JVM, которое указывает на сбой JVM, что позволит мне вызвать мою реализацию shutdown ().