2016-09-27 90 views
-1

在弹簧启动Web应用程序中,我需要能够执行两项任务。连续任务等待并暂停

任务

  1. 串行端口经常检查是否有一些数据读取。有人可以通过扫描卡。我认为这个任务需要从应用程序开始。

  2. 如果新成员来了,我需要扫描一张卡片,任务1需要被暂停/停止......如果卡片没有被分配给任何人,它被分配给这个成员。重新启动任务1.

我不知道什么是做任务1,方便任务2

我看到有很多可能性的最佳方式:@ScheduledTaskScheduler谁将会执行一个线程。 ..

有什么建议吗?

回答

1

您应该创建一个线程,从循环中的串口读取数据,并在某些有用的事件发送给适当的服务时将这些数据作为事件分派。

+0

没问题,但并没有真正回答问题......这是肯定的任务将调用服务来做到这一点... 重要思考是如何调用任务1以及如何将任务2放入暂停任务2 –

+0

如果线程将直接调用某个服务方法,它将不会回读任何非服务方法将返回的内容,请问这是好的吗? –

+0

好的,我会给更多的信息。 任务1,读取串行端口,如果扫描一张卡片,则将值发送到检查数据库中的服务层是否分配了标识... 任务2,如果新用户来了,则将卡片给予用户,卡片ID是未知的,所以用户必须先扫描它才能将其分配给他。当用户传递卡片时,我不想让任务1运行......这是两种不同的情况。 –