Мне нужно написать сервер, который прослушивает операторы PostgreSQL NOTIFY и рассматривает каждое уведомление как запрос на обслуживание (на самом деле это больше похоже на задачу для обработки). Мои основные требования:
1) Механизм опроса PGConnection
(в идеале это должен быть прослушиватель, но в реализации PgJDBC нам необходимо опрашивать ожидающие уведомления. Справочник)
2) Выполнить обратный вызов на основе «запроса» (используя имя канала в уведомлении NOTIFY) в отдельном потоке.
3) Имеет встроенный механизм управления потоками (создание/удаление потоков, когда задача обрабатывается/завершается, ставится в очередь, когда одновременно обрабатывается слишком много задач и т. д.)
Требования 1 и 2 — это то, что мне легко реализовать самому. Но я бы предпочел не писать управление потоками самостоятельно.
Существует ли существующая структура, отвечающая этим требованиям? Дополнительным преимуществом было бы то, что фреймворк автоматически генерирует статистику запросов.