【问题标题】:Is there any alternative to Apache Commons SCXML? [closed]Apache Commons SCXML 有什么替代品吗? [关闭]
【发布时间】:2011-11-28 20:24:56
【问题描述】:

我正在寻找一个好的通用状态机,到目前为止我已经找到了 SCXML。它使用起来非常简单(我的意思是配置),但源代码过时 - 没有类型安全,所有集合都是原始类型。我不必说要找到这些集合中实际存储的内容有多么困难。那么有没有现代的替代品?

【问题讨论】:

  • 像 jBPM 或 Activiti 这样的 BPMN 是不是太过分了?
  • 是的。我试过jBPM,它很大。我需要简单的状态机——就像 SCXML,但更好(正如我上面所说的)。一个好的文档也会很有用,因为 SCXML 几乎没有。
  • 你关注manageability.org/blog/stuff/…了吗?您也可以使用状态设计模式自行开发。结合枚举,可以非常简洁地编码,比如weblogs.java.net/blog/ryano/archive/2005/01/…
  • 我使用来自 SCXML 的 SCXMLExecutor 并创建了我自己的 AbstractStateMachine。结果是我摆脱了非泛型集合,仍然可以利用 XML 配置和实现逻辑的优势。
  • 我研究 SCXML 已经有一段时间了,我们有 JBPM,但它太可怕了......

标签: java state-machine apache-commons-scxml


【解决方案1】:

我使用了两个状态机产品,我将产品定义为 需要实际创建操作程序的一部分。

1) QP(http://www.state-machine.com/)。我在 2006 年在 Windows C++ 中使用了它 通讯产品。效果很好,但目标数量有限 平台。总的来说,这是最好的产品,但它可能会花钱 关于你如何使用它。

2) 状态机编译器(http://smc.sourceforge.net/)。我今天用这个 在一个用 Objective-C 编写的 iOS 产品 (http://dr.edgemoor.com) 中。我碰到 您在研究 SMC 的替代品时提出的问题。我没有找到。

SMC 的文档记录较少,但范围也更简单。而且实力大 是它为多种语言生成代码,比任何其他解决方案都多 我找到了。

【讨论】:

  • 感谢您的回答,但我只需要纯 Java 库。这意味着状态机引擎必须用 Java 编写,并且应该可以在 XML 文件中进行配置。
【解决方案2】:

在 java 中,Apache Commons SCXML 可能是最好的。但是您可以查找有关 scxml4flex 的内容,http://code.google.com/p/scxml4flex/

【讨论】:

  • 由于该问题被专门标记为Javascxml4flex 真的回答了所提出的问题吗?
  • 它没有。我猜 Apache Commons SCXML 最适合我的目的,但似乎开发人员不打算重构代码并编写更好的文档,因为他们还没有这样做。
猜你喜欢
  • 2010-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-23
  • 2013-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多