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 社群中所有即將舉行的活動。

檢視全部