更进一步
VMware 提供培训和认证,以加速您的进步。
了解更多我们很高兴地宣布 Spring Statemachine 1.0.0.M1 的第一个里程碑版本发布。这篇博客也作为这个新项目的介绍。
虽然写一篇介绍最新尖端技术的博客文章会很棒,但有限状态机存在的时间比这篇文章的读者(爷爷,您现在可以放下手了)还要长。有些技术来了又走,然后还有一些基本技术一直存在,仅仅是因为它们被证明有效。
每个程序员很可能已经在他们的应用程序中使用某种状态的概念。当应用程序基于该标志做出决策时,拥有一个简单的布尔标志本身就已经是一个简单的状态机。然后,程序员投入更多的标志、枚举和一堆 if/else/break 结构,这对于简单的用例来说是完全没问题的。
将状态和应用程序逻辑结合在一起的问题是,随着时间的推移,当应用程序变得更加复杂时,代码通常开始看起来像一盘意大利面,并且每次程序员更改一个部分,其他一些部分就会被破坏。
Spring Statemachine 是一个框架,供应用程序开发人员将 状态机 概念与 Spring 应用程序一起使用,旨在提供以下功能:
在某些事情可能异步发生的应用程序中,正确的状态处理非常重要。这在云环境中尤其重要,在云环境中很容易遇到并发问题。 Spring Statemachine 是状态处理的另一种方式,例如 Spring Cloud Cluster 项目旨在通过其 分布式锁 和 领导者选举 等功能提供。
项目页面 包含一个简单的示例,可以了解 Spring Statemachine 的工作方式。我们还制作了一些 示例,这些示例在我们的参考文档中进行了更详细的解释。这些示例与 Spring Boot 一起打包,并使用 Spring Shell 来启动交互式 shell,您可以使用它与状态机进行交互。这是一种无需重新编译即可查看不同行为的好方法。
我们很乐意通过参与 Spring Statemachine 项目 或简单地在 GitHub 上创建问题或功能请求来听取人们的想法。