clojure core async и servlet отменить развертывание - PullRequest
0 голосов
/ 14 декабря 2018

Я использую Clojure core.async в программе сервлета.Я подозреваю утечку памяти в программе и обнаружил, что общее количество живых потоков не уменьшается при удалении приложения с сервера приложений (Glassfish).

Мой вопрос: как можноЯ очищаю неиспользуемые потоки core.async, когда удаляю приложение из приложения?

Я понимаю, что core.async управляет своими пулами потоков :

  1. Для запуска макросов (thread) используется кешированный пул потоков .Потоки в пуле очищаются автоматически после 60 секунд бездействия в соответствии с документами .
  2. Однако для запуска рабочих используется фиксированный пул потоков .Явное shutdown должно было быть вызвано, чтобы остановить этот пул потоков, но реализация пула потоков не является общедоступной.

Какой хороший способ завершить работу core.async, когдаудаление приложения?

...