Производитель и потребитель в Java с истощением времени ожидания - PullRequest
0 голосов
/ 07 мая 2018

Я хочу написать CommunicationSupervisor для подключения к устройству с этими функциями.

  1. Исходящие сообщения должны быть поставлены в очередь в структуре данных.
  2. Есть только один Потребитель. Потребитель должен проверить, есть ли элемент в очереди.
  3. Потребитель должен отправить исходящее сообщение и дождаться входящего ответа.
  4. Возможно создание новых исходящих сообщений, пока потребитель ожидает ответа, но они не будут обработаны, пока потребитель получает ответ для первого элемента, затем для второго и так далее
  5. Если потребитель получает тайм-аут для сообщения, должно возникнуть исключение, но потребитель должен продолжить работу с другими исходящими сообщениями в очереди.

Мой вопрос: каков наилучший метод для реализации этого? Должен ли я использовать SynchronousQueue в качестве структуры данных? Или у нас есть пример шаблона для этого? Кстати, мы используем Java 6. Поэтому решение для Java 8 не будет работать. Спасибо за помощь

...