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 社区中所有即将举行的活动。

查看全部