Реализовать паттерн Transactional Outbox.
Решение должно:
- Определять таблицу для сохранения сообщений.
- Таблица должна автоматически добавляться в указанную БД PostgreSQL.
- Реализовать операцию, которая в транзакции сохраняет в Бд сообщений новое сообщение.
- Реализовать job, который мониторит таблицу на предмет обновлений и для всех новых сообщений отправляет их в EndPoint.
EndPoint может быть для любой системы сообщений на выбор, но он должен обеспечивать гарантированную доставку сообщений.