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