使用状态机实现投票程序系统



我正在尝试构建一个http poller system,应该做以下操作:

对于每个用户,请尝试获得与服务器的连接,如果失败,请检查故障原因,也许该服务器不可用,因此请尝试另一个,如果原因是错误的凭据会做其他事情。一旦我们建立了该用户的连接,我们就会开始对服务器进行轮询,以获取有关用户的一些信息

我在想一个state machine,每个用户都有一个状态计算机的实例(存储在MAP USERID-> Statemachine中),并且我有一些计划的任务,一个任务可以获取每个用户的数据,每个用户每个用户的数据都1秒。它过滤了当前状态连接的状态机。

那是个好主意吗?使用状态机解决此类问题是否有意义?

我认为使用状态机实施它是一个好主意。State Machine具有三个状态,初始,Next_Step和Final,并且每个状态都有Dosomething()方法的实现。这是一个论点,并取决于参数,它可以跳到下一个状态。如果您想自定义状态机,请通过LinkedIn检查此OpenSource实现,以实现一个有效用例的状态计算机。您可以在这里删除设计LinkedIn URL Shortner使用Java枚举建模状态机。对于计划的任务,您可以使用

CompletableFuture

在此处找到更多详细信息。可完成的未来

最新更新