Вы пометили свой вопрос с помощью java-ee, поэтому вот ответ, который использует технологии и API, доступные в платформе Java Enterprise Edition:
- Настройка очереди в JMS сервер.В зависимости от настроек вы можете использовать JMS-сервер, поставляемый с сервером приложений, или использовать внешний сервер сообщений.
- Реализация корпоративного приложения с компонентом Timer и без сохранения состояния Сессия Боб.
- Bean-компонент Timer будет запускаться каждый день / час / другой соответствующий интервал.Когда он просыпается, он вызывает компонент сеанса без состояния.
- Компонент сеанса без состояния имеет единственный бизнес-метод, который считывает все сообщения из очереди JMS и выполняет действия в соответствии с каждым сообщением.
- Развертывание двух компонентов в корпоративном приложении на сервере приложений.
- Предоставление клиентам информации о том, как подключиться к очереди и формату сообщений, или реализация клиентских приложений, которые отправляют сообщения в очередь.от имени клиентов.
Если вы подключаетесь к очереди JMS, которая поддерживает транзакции , то любой сбой при обработке сообщения в компоненте сеанса без состояния приведет к тому, что сообщение будет помещено в очередь.обратно в очередь и повторите отправку.
В этом проекте не используется управляемый сообщениями компонент для получения сообщений из очереди, потому что тогда вам придется беспокоиться о сохранении сообщения другими способами, пока не сработает служба таймера.