Spring Statemachine 1.0.0.M1 发布

发布 | Janne Valkealahti | 2015年4月14日 | ...

我们很高兴地宣布 Spring Statemachine 1.0.0.M1 的第一个里程碑版本发布。这篇博客也作为这个新项目的介绍。

虽然写一篇介绍最新尖端技术的博客文章会很棒,但有限状态机存在的时间比这篇文章的读者(爷爷,您现在可以放下手了)还要长。有些技术来了又走,然后还有一些基本技术一直存在,仅仅是因为它们被证明有效。

每个程序员很可能已经在他们的应用程序中使用某种状态的概念。当应用程序基于该标志做出决策时,拥有一个简单的布尔标志本身就已经是一个简单的状态机。然后,程序员投入更多的标志、枚举和一堆 if/else/break 结构,这对于简单的用例来说是完全没问题的。

将状态和应用程序逻辑结合在一起的问题是,随着时间的推移,当应用程序变得更加复杂时,代码通常开始看起来像一盘意大利面,并且每次程序员更改一个部分,其他一些部分就会被破坏。

Spring Statemachine 是一个框架,供应用程序开发人员将 状态机 概念与 Spring 应用程序一起使用,旨在提供以下功能:

  • 易于使用的平面单级状态机,适用于简单的用例。
  • 分层状态机结构,以简化复杂的状态配置。
  • 状态机区域,以提供更复杂的状态配置。
  • 触发器、转换、守卫和动作的使用。
  • 类型安全的配置适配器。
  • 状态机事件监听器。
  • Spring IOC 集成,将 bean 与状态机关联。

在某些事情可能异步发生的应用程序中,正确的状态处理非常重要。这在云环境中尤其重要,在云环境中很容易遇到并发问题。 Spring Statemachine 是状态处理的另一种方式,例如 Spring Cloud Cluster 项目旨在通过其 分布式锁领导者选举 等功能提供。

项目页面 包含一个简单的示例,可以了解 Spring Statemachine 的工作方式。我们还制作了一些 示例,这些示例在我们的参考文档中进行了更详细的解释。这些示例与 Spring Boot 一起打包,并使用 Spring Shell 来启动交互式 shell,您可以使用它与状态机进行交互。这是一种无需重新编译即可查看不同行为的好方法。

我们很乐意通过参与 Spring Statemachine 项目 或简单地在 GitHub 上创建问题或功能请求来听取人们的想法。

获取 Spring 新闻资讯

通过 Spring 新闻资讯保持联系

订阅

更进一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部