Периодически проверять состояние с тайм-аутом - PullRequest
2 голосов
/ 19 июля 2011

Процесс следующий:
Пришел запрос на проверку конкретного полученного сообщения электронной почты.Это сообщение электронной почты следует добавить в список сообщений, которые периодически проверяются на наличие на почтовом сервере.Каждые 30 секунд другой поток должен искать сообщения из этого списка.Если сообщение найдено, оно должно быть как-то возвращено для выполнения запроса.Если сообщение не найдено в течение указанного периода времени, должно быть сгенерировано исключение.

Примечание. Я думаю, что создание нового потока может быть довольно дорогостоящим при каждом появлении нового сообщения.Поэтому я хочу периодически искать все сообщения из списка в одной теме.

Как / с помощью каких классов я могу это реализовать?(Javamail часть готова)

1 Ответ

3 голосов
/ 19 июля 2011
  1. Используйте java.util.concurrent.BlockingQueue для получения сообщения, потому что вы можете сказать poll(long timeout, TimeUnit unit), чтобы получающий поток вообще не использовал никакой ЦП.

  2. Чтобы периодически проверять почту, используйте java.util.Timer «для повторного выполнения через регулярные промежутки времени».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...