2016-09-23 4 views
0

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

Я использую https://github.com/RishiGupta12/SerialPundit для чтения последовательного порта.

Есть ли что-то особенное весной, чтобы иметь возможность это сделать?

ответ

0

Что вам нужно сделать, это:

Пока ваш webapp загружается;

  • Spawn поток, который будет слушать на последовательный порт Непрерывно,
  • Сделать это написать это выход к общему месту (то есть некоторые поточно-очереди, ThreadLocal и т.д.)
  • Доступ к этой общей емкости от ваши контроллеры весны

Посмотрите на http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html для подробного использования.

+0

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

+0

@bernardderomme, поскольку TaskExecutor находится в другом потоке, он не блокирует все веб-приложение, вы можете вызывать службы отдыха во время работы вашего последовательного порта. Когда это будет сделано с последовательным портом, он будет записываться на общедоступный носитель. – JuniorDev